java中的map list set等集合類(lèi)

java中的map list set等集合類(lèi)

ID:34615769

大?。?3.49 KB

頁(yè)數(shù):16頁(yè)

時(shí)間:2019-03-08

java中的map list set等集合類(lèi)_第1頁(yè)
java中的map list set等集合類(lèi)_第2頁(yè)
java中的map list set等集合類(lèi)_第3頁(yè)
java中的map list set等集合類(lèi)_第4頁(yè)
java中的map list set等集合類(lèi)_第5頁(yè)
資源描述:

《java中的map list set等集合類(lèi)》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、MapListSet等集合類(lèi):一、概述在JAVA的util包中有兩個(gè)所有集合的父接口Collection和Map,它們的父子關(guān)系:+Collection這個(gè)接口extends自--java.lang.Iterable接口?├+List(接口代表有序,可重復(fù)的集合。列表)?│├ArreyList??(Class數(shù)組,隨機(jī)訪問(wèn),沒(méi)有同步,線(xiàn)程不安全)?│├Vector????(Class?數(shù)組?????????同步????線(xiàn)程全)?│├LinkedList??(Class?鏈表?插入刪除?沒(méi)有同步?線(xiàn)程不安全)?│└Stack?????(Class)?└+

2、Set(接口不能含重復(fù)的元素。僅接收一次并做內(nèi)部排序,集)?│├HashSet??????(Class)?│├LinkedHashSet?(Class)?│└TreeSet????(Class)+Map(接口)?├+Map(接口映射集合)?│├HashMap??????(Class不同步,線(xiàn)程不安全。除了不同和允許使用null鍵值之外,與Hashtable大致相同)?│├Hashtable?????(Class同步?,線(xiàn)程安全??。不允許實(shí)施null鍵值)?│├+SortedMap接口?││??├TreeMap?????(Class)?│?├WeakH

3、ashMap??(Class)以下對(duì)眾多接口和類(lèi)的簡(jiǎn)單說(shuō)明:首先不能不先說(shuō)一下數(shù)組(Array)1、效率高,但容量固定且無(wú)法動(dòng)態(tài)改變。array還有一個(gè)缺點(diǎn)是,無(wú)法判斷其中實(shí)際存有多少元素,length只是告訴我們array的容量。2、Java中有一個(gè)Arrays類(lèi),專(zhuān)門(mén)用來(lái)操作array。???arrays中擁有一組static函數(shù),???equals():比較兩個(gè)array是否相等。array擁有相同元素個(gè)數(shù),且所有對(duì)應(yīng)元素兩兩相等。???fill():將值填入array中。???sort():用來(lái)對(duì)array進(jìn)行排序。???binarySearc

4、h():在排好序的array中尋找元素。???System.arraycopy():array的復(fù)制。一、數(shù)組Array和集合的區(qū)別:1)?數(shù)組是大小固定的,并且同一個(gè)數(shù)組只能存放類(lèi)型一樣的數(shù)據(jù)(基本類(lèi)型/引用類(lèi)型)2)JAVA集合可以存儲(chǔ)和操作數(shù)目不固定的一組數(shù)據(jù)。3)?若程序時(shí)不知道究竟需要多少對(duì)象,需要在空間不足時(shí)自動(dòng)擴(kuò)增容量,則需要使用容器類(lèi)庫(kù),array不適用。二setmaplist的區(qū)別?都是集合接口?set--其中的值不允許重復(fù),無(wú)序的數(shù)據(jù)結(jié)構(gòu)??list??--其中的值允許重復(fù),因?yàn)槠錇橛行虻臄?shù)據(jù)結(jié)構(gòu)??map--成對(duì)的數(shù)據(jù)結(jié)構(gòu),健值必

5、須具有唯一性(鍵不能同,否則值替換)?List按對(duì)象進(jìn)入的順序保存對(duì)象,不做排序或編輯操作。Set對(duì)每個(gè)對(duì)象只接受一次,并使用自己內(nèi)部的排序方法(通常,你只關(guān)心某個(gè)元素是否屬于Set,而不關(guān)心它的順序--否則應(yīng)該使用List)。Map同樣對(duì)每個(gè)元素保存一份,但這是基于"鍵"的,Map也有內(nèi)置的排序,因而不關(guān)心元素添加的順序。如果添加元素的順序?qū)δ愫苤匾?,?yīng)該使用LinkedHashSet或者LinkedHashMap.Collection是對(duì)象集合,Collection有兩個(gè)子接口List和SetList可以通過(guò)下標(biāo)(1,2..)來(lái)取得值,值可以重復(fù)而

6、Set只能通過(guò)游標(biāo)來(lái)取值,并且值是不能重復(fù)的ArrayList,Vector,LinkedList是List的實(shí)現(xiàn)類(lèi)ArrayList是線(xiàn)程不安全的,Vector是線(xiàn)程安全的,這兩個(gè)類(lèi)底層都是由數(shù)組實(shí)現(xiàn)的LinkedList是線(xiàn)程不安全的,底層是由鏈表實(shí)現(xiàn)的?Map是鍵值對(duì)集合HashTable和HashMap是Map的實(shí)現(xiàn)類(lèi)HashTable是線(xiàn)程安全的,不能存儲(chǔ)null值HashMap不是線(xiàn)程安全的,可以存儲(chǔ)null值三、Collections類(lèi)和Collection接口????????Collections是針對(duì)集合類(lèi)的一個(gè)幫助類(lèi),他提供一系列靜

7、態(tài)方法實(shí)現(xiàn)對(duì)各種集合的搜索、排序、線(xiàn)程安全化等操作。????Collection是最基本的集合接口,一個(gè)Collection代表一組Object,即Collection的元素(Elements)。一些Collection允許相同的元素而另一些不行。一些能排序而另一些不行。Java?SDK不提供直接繼承自Collection的類(lèi),Java?SDK提供的類(lèi)都是繼承自Collection的“子接口”如List和Set?! ∷袑?shí)現(xiàn)Collection接口的類(lèi)都必須提供兩個(gè)標(biāo)準(zhǔn)的構(gòu)造函數(shù):無(wú)參數(shù)的構(gòu)造函數(shù)用于創(chuàng)建一個(gè)空的Collection,有一個(gè)Collec

8、tion參數(shù)的構(gòu)造函數(shù)用于創(chuàng)建一個(gè)新的Collection,這個(gè)新的Collection與傳入

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。