1. 程式人生 > 其它 >今日總結:集合實現類

今日總結:集合實現類

1 AbstractCollection
實現了大部分的集合介面。
2 AbstractList
繼承於AbstractCollection 並且實現了大部分List介面。
3 AbstractSequentialList
繼承於 AbstractList ,提供了對資料元素的鏈式訪問而不是隨機訪問。
4 LinkedList

該類實現了List介面,允許有null(空)元素。主要用於建立連結串列資料結構,該類沒有同步方法,如果多個執行緒同時訪問一個List,則必須自己實現訪問同步,解決方法就是在建立List時候構造一個同步的List。例如:

List list=Collections.synchronizedList(newLinkedList(...));

LinkedList 查詢效率低。

5 ArrayList

該類也是實現了List的介面,實現了可變大小的陣列,隨機訪問和遍歷元素時,提供更好的效能。該類也是非同步的,在多執行緒的情況下不要使用。ArrayList 增長當前長度的50%,插入刪除效率低。

6 AbstractSet
繼承於AbstractCollection 並且實現了大部分Set介面。
7 HashSet

該類實現了Set介面,不允許出現重複元素,不保證集合中元素的順序,允許包含值為null的元素,但最多隻能一個。

8 LinkedHashSet
具有可預知迭代順序的Set介面的雜湊表和連結列表實現。
9 TreeSet

該類實現了Set介面,可以實現排序等功能。

10 AbstractMap
實現了大部分的Map介面。
11 HashMap
HashMap 是一個散列表,它儲存的內容是鍵值對(key-value)對映。
該類實現了Map介面,根據鍵的HashCode值儲存資料,具有很快的訪問速度,最多允許一條記錄的鍵為null,不支援執行緒同步。
12 TreeMap
繼承了AbstractMap,並且使用一顆樹。
13 WeakHashMap
繼承AbstractMap類,使用弱金鑰的雜湊表。
14 LinkedHashMap
繼承於HashMap,使用元素的自然順序對元素進行排序.
15 IdentityHashMap
繼承AbstractMap類,比較文件時使用引用相等。