java map與set的區別_Java中的Set,List,Map的區別是什么?

對JAVA的集合的理解是想對于數組

數組是大小固定的,并且同一個數組只能存放類型一樣的數據(基本類型/引用類型)

JAVA集合可以存儲和操作數目不固定的一組數據。

所有的JAVA集合都位于 java。util包中!

JAVA集合只能存放引用類型的的數據,不能存放基本數據類型。

JAVA集合主要分為三種類型:

Set(集)

List(列表)

Map(映射)

Collection 接口

Collection是最基本的集合接口,聲明了適用于JAVA集合(只包括Set和List)的通用方法。

Set 和List 都繼承了Conllection,Map沒有

Collection接口的方法:

boolean add(Object o)?? :向集合中加入一個對象的引用

void clear()??????????????????????? :刪除集合中所有的對象,即不再持有這些對象的引用

boolean isEmpty()?????????? :判斷集合是否為空

boolean contains(Object o): 判斷集合中是否持有特定對象的引用

Iterartor iterator()????????????? : 返回一個Iterator對象,可以用來遍歷集合中的元素

boolean remove(Object o):從集合中刪除一個對象的引用

int size()?????????????????????????????? :返回集合中元素的數目

Object[] toArray()???????????????? :返回一個數組,該數組中包括集合中的所有元素

關于:Iterator() 和toArray() 方法都用于集合的所有的元素,前者返回一個Iterator對象,后者返回一個

包含集合中所有元素的數組。

Iterator接口聲明了如下方法:

hasNext(): 判斷集合中元素是否遍歷完畢,如果沒有,就返回true

next()?????? :返回下一個元素

remove():從集合中刪除上一個有next()方法返回的元素。

Set(集合):

Set是最簡單的一種集合。

集合中的對象不按特定的方式排序,并且沒有重復對象。

Set接口主要實現了兩個實現類:

HashSet : HashSet類按照哈希算法來存取集合中的對象,存取速度比較快

TreeSet?? : TreeSet類實現了SortedSet接口,能夠對集合中的對象進行排序。

Set 的用法:

存放的是對象的引用,沒有重復對象

Set set=new HashSet();

String s1=new String("hello");

String s2=s1;

String s3=new String("world");

set。

add(s1);

set。add(s2);

set。add(s3);

System。out。println(set。size());//打印集合中對象的數目 為 2。

Set 的 add()方法是如何判斷對象是否已經存放在集合中?

boolean isExists=false;

Iterator iterator=set。

iterator();

while(it。hasNext())?????????? {

String oldStr=it。next();

if(newStr。equals(oldStr)){

isExists=true;

}

}

List(列表):

List的特征是其元素以線性方式存儲,集合中可以存放重復對象。

List接口主要實現類包括:

ArrayList() : 代表長度可以改變得數組。可以對元素進行隨機的訪問,向ArrayList()中插入與

與刪除元素的速度慢。

LinkedList(): 在實現中采用鏈表數據結構。插入和刪除速度快,訪問速度慢。

對于List的隨機訪問來說,就是只隨機來檢索位于特定位置的元素。

List 的 get(int index) 方法放回集合中由參數index指定的索引位置的對象,下標從“0” 開始。

全部

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/443223.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/443223.shtml
英文地址,請注明出處:http://en.pswp.cn/news/443223.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java怎么使用泛型_java泛型 7 泛型的基本介紹和使用

現在開始深入學習Java的泛型了,以前一直只是在集合中簡單的使用泛型,根本就不明白泛型的原理和作用。泛型在java中,是一個十分重要的特性,所以要好好的研究下。一、泛型的基本概念泛型的定義:泛型是JDK 1.5的一項新特性…

java鋁輪_為速度而生 JAVA Fuoco鋁合金氣動公路

人類在追求速度的歷史上一直在不斷創新,從兩個輪子的自行車,到四個輪字的汽車,再到螺旋槳的飛機,追求速度是人類與生俱來的天性。就如同公路車的用途非常多,綜合型公路車、耐力型公路車、爬坡型公路車,但唯…

erlang mysql性能瓶頸,Erlang Mysql:如何防止SQL注入

Im very new to erlang and I need to code something which inserts rows in a MySQL Database.How can I prevent SQL Injections with Erlang? Is there also something like prepared statements in other Languages or how should I do it?Thanks for your replies.解決…

下列哪個不是java的數據類型_下面哪個不是Java基本數據類型?()

采集血標本時,錯誤的操作是A.血清標本應注入干燥試管B.生化檢驗標本在空腹時采集試比較脂肪酸β-氧化與生物合成的差異。調節水平衡的激素主要是A.胰島素 B.甲狀旁腺激素 C.血管升壓素 D求比50克多5克的數是多少?列式是…

Java jpa 字段限制_Java-JPA:僅更新特定字段

我有同樣的問題,正如Deinum先生所指出的,答案是否定的,您不能使用save。 主要問題是Spring Data不知道如何處理null。 是否設置了空值,還是因為需要將其刪除而設置了空值?現在從您的問題來看,我認為您也有同…

java excel中刪除兩列_Java 插入、隱藏/顯示、刪除Excel行或列

概述操作Excel工作表時,對表格中的行或列數據可執行,包括插入、隱藏、顯示、刪除等在內的多種操作需求,本文將通過Java代碼示例演示每種操作的具體實現方法。文中方法使用了Java Excel類庫(Free Spire.XLS for Java 免費版),可通過…

java屏蔽編譯告警_java-禁止JAXB生成的類上的編譯器警告

這可能是該問題的副本(Avoiding Compiler warnings on code generated by xjc),但是由于我不太了解XJC / JAXB自定義綁定特質,所以我想我可能誤解了所提到的問題.我的問題似乎很簡單-如何將SuppressWarnings(“ all”)批注添加到生成的JAXB類中?我們的項目有0個警告…

Java中number數字類型的轉換_Java下數字類型的轉換 (轉)

Java下數字類型的轉換 (轉)[more]作者:家居貓各種數字類型轉換成字符串型:String s String.valueOf( value); // 其中 value 為任意一種數字類型。字符串型轉換成各種數字類型:String s "169";byte b Byte.parseByte( s );short…

Java0steam_Java學習 - Stream 使用

Java Stream使用這段時間在學數據庫和Java,發現Java的Stream實際上和數據庫的查詢操作非常類似。這里簡單介紹Stream的用法,并和Sql Server中的操作聯系起來。此文為初學Stream所寫,以后對Stream有更深的理解后會重寫當我們使用一個流的時候&…

mysql初始化很慢_mysql初始化報錯

/var/log/mysql.log 日志報錯如上圖所示解決方法:SELinux惹的禍通俗的講就是linux服務器的安全策略解決:臨時關閉:setenforce 0永久關閉需要修改配置文件,重啟機器:修改/etc/selinux/config 文件將SELINUXenforcing改為…

百度java的線程技術_自我提升(基礎技術篇)——java線程簡介

前言:雖然自己平時都在用多線程,也能完成基本的工作需求,但總覺得,還是對線程沒有一個系統的概念,所以,查閱了一些資料,理解那些大神和官方的資料,寫這么一篇關于線程的文章本來想廢…

java調用掃描儀識別文字_Java使用掃描儀讀取文件輸入

示例Scanner scanner null;try {scanner new Scanner(new File("Names.txt"));while (scanner.hasNext()) {System.out.println(scanner.nextLine());}} catch (Exception e) {System.err.println("發生異常!");} finally {if (scanner ! nul…

d3 tip mysql_mysql

字符:char(10)->定長、10個字符寬度。如果右側不夠,則空格補齊,取出來的時候刪除空格。varchar(10)->變長、最多10個字符如:存姓名的時候,沒必要為了那幾個長度去使用varchar,使用定長去存儲會提高效…

java string rt_如何使jvm加載我的java.lang.String而不是rt.jar中的那個

我認真研究了Java類加載器。現在,我想編寫一個與rt.jar中的類之一具有相同的包名稱和類名稱的類。例如,我自己編寫一個java.lang.String類,以及如何打破父級委托模型以使jvm加載我的java.lang.String而不是rt.jar中的類。重新編輯Thx&#xf…

php在線語音,PHP在線語音合成

這篇文章主要介紹了PHP在線語音合成,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下在線語音合成 PHP SDKhttp://yuyin.baidu.com/docs/tts/194PHP SDK文檔簡介Hi,您好,歡迎使用百度語音合成服務。本文檔…

php工廠模式和單例模式,php 設計模式之工廠模式、單例模式、注冊樹模式

php 設計模式之工廠模式、單例模式、注冊樹模式在軟件工程中,創建型設計模式承擔著對象創建的職責,嘗試創建適合程序上下文的對象,對象創建設計模式的產生是由于軟件工程設計的問題,具體說是向設計中增加復雜度,創建型…

php 正則匹配unicode,PHP中正則表達式對UNICODE字符碼的匹配方法

網友ainiaa的問題是PHP代碼如下代碼如下:$words "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSRUVWXYZ!#$%^&*()_-[]\\,./{}|<>?\"你好啊我們";$otherStrpreg_replace("/[chr(128)-chr(256)]/is"," ",$words);ech…

iis7怎么安裝php7,Linux下如何安裝php7

Linux下安裝php7的方法&#xff1a;首先安裝依賴包&#xff0c;并下載解壓安裝包&#xff1b;然后檢查環境的依賴關系&#xff0c;并編譯安裝&#xff1b;接著將【php.ini-production】改名為【php.ini】&#xff1b;最后復制啟動腳本&#xff0c;并啟動PHP即可。Linux下安裝ph…

php長輪詢阻塞,ajax長輪詢時php被阻塞

剛接觸實時通訊這塊&#xff0c;知道用websocket更高效&#xff0c;但我想了解輪詢的實現過程&#xff0c;循序漸進短輪詢用定時器setInterval已經實現了&#xff0c;但長輪詢時后臺進入死循環模塊導致整個網站的php網頁無響應&#xff0c;比如刷新頁面、提交消息都沒法進行。具…

php隱藏路徑ngnix,thinkphp框架在nginx環境下去掉index.php路徑顯示

協助用戶將apache下的一個網站遷移到nginx環境中&#xff0c;結果發現用戶用的ThinkPHP框架做的開發&#xff0c;默認用的pathinfo。這是一個很頭疼的問題&#xff0c;因為nginx不支持pathinfo&#xff0c;貿然一并打開也擔心不安全。于是查詢資料后整理如下&#xff1a;找到ap…