JAVA 集合框架(一) 概念

java集合類主要由兩個接口派生而出,CollectionMap

collection.png

Map.png

interface 簡介
Collection Collection 層次結(jié)構(gòu) 中的根接口。Collection 接口存儲一組不唯一,無序的對象。
List List接口是一個有序的 Collection,使用此接口能夠精確的控制每個元素插入的位置,能夠通過索引(元素在List中位置,類似于數(shù)組的下標(biāo))來訪問List中的元素,第一個元素的索引為 0,允許有相同元素。
Set Set 具有與 Collection 完全一樣的接口,只是行為上不同,Set 不保存重復(fù)的元素。
SortedSet 繼承于Set保存有序的集合
Map Map 接口存儲一組鍵值對象,提供key(鍵)到value(值)的映射。
SortedMap 繼承于 Map,使 Key 保持在升序排列。
Class 簡介
LinkedList 該類實(shí)現(xiàn)了List接口,允許有null(空)元素。主要用于創(chuàng)建鏈表數(shù)據(jù)結(jié)構(gòu),該類沒有同步方法,如果多個線程同時訪問一個List,則必須自己實(shí)現(xiàn)訪問同步,解決方法就是在創(chuàng)建List時候構(gòu)造一個同步的List。 例如Listlist=Collections.synchronizedList(newLinkedList(...));LinkedList 查找效率低,插入和刪除效率高。
ArrayList 該類也是實(shí)現(xiàn)了List的接口,實(shí)現(xiàn)了可變大小的數(shù)組,隨機(jī)訪問和遍歷元素時,提供更好的性能。該類也是非同步的,在多線程的情況下不要使用。ArrayList 增長當(dāng)前長度的50%,插入刪除效率低。
HashSet 該類實(shí)現(xiàn)了Set接口,不允許出現(xiàn)重復(fù)元素,不保證集合中元素的順序,允許包含值為null的元素,但最多只能一個。
LinkedHashSet 具有可預(yù)知迭代順序的 Set 接口的哈希表和鏈接列表實(shí)現(xiàn)。
TreeSet 該類實(shí)現(xiàn)了Set接口,可以實(shí)現(xiàn)排序等功能。
HashMap HashMap 是一個散列表,它存儲的內(nèi)容是鍵值對(key-value)映射。該類實(shí)現(xiàn)了Map接口,根據(jù)鍵的HashCode值存儲數(shù)據(jù),具有很快的訪問速度,最多允許一條記錄的鍵為null,不支持線程同步。
TreeMap 繼承了AbstractMap,并且使用一顆樹。
WeakHashMap 繼承AbstractMap類,使用弱密鑰的哈希表。
LinkedHashMap 繼承于HashMap,使用元素的自然順序?qū)υ剡M(jìn)行排序.
IdentityHashMap 繼承AbstractMap類,比較文檔時使用引用相等。

要點(diǎn):

Set存儲一組唯一,無序的對象。
List存儲一組不唯一,有序(插入順序)的對象。
Map保存的是鍵值對,只能通過key訪問value。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容