今日總結:集合實現類
阿新 • • 發佈:2022-01-26
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類,比較文件時使用引用相等。 |