Java API 提供的介面及實現類實例,用於程序中存放對象。**優勢**:自動增長容量、自動釋放無用空間。

Collection:存取一組對象,子介面 Set(無序、不重複)、List(有序、可重複)Map:鍵值對映射存儲
關鍵:remove、contains 依賴 equals() 比較。自定義類作元素/Key **必須正確覆寫 equals() 和 hashCode()**,相等對象 hashCode 必相等。
所有 Collection 實現類提供 iterator() 返回 Iterator,統一遍歷介面。

boolean hasNext(); // 游標右側是否有元素
E next(); // 返回右側元素並右移游標
void remove(); // 刪除游標左側元素(每次 next 後僅可調用一次)
equals 判斷)HashSet(HashMap 底層)、LinkedHashSet(維護插入序)、TreeSet(紅黑樹、有序)
ArrayList:數組底層,**查快(O(1))、增刪慢(需位移/擴容)**LinkedList:雙向鏈表,**增刪快(O(1))、查慢(O(n))**Vector:同步版 ArrayList,性能差,不推薦所有可排序類實現 Comparable:
public int compareTo(Object obj); // 返回負/零/正:小於/等於/大於
配合 Collections.sort()、TreeSet、TreeMap 實現自然排序。
HashMap:首選、非同步、允許 nullHashtable:同步、過時、不允許 nullLinkedHashMap:維護插入/訪問序TreeMap:紅黑樹、Key 有序WeakHashMap:Key 弱引用,GC 可回收| 需求 | 推薦容器 |
|---|---|
| 高頻隨機訪問、少增刪 | ArrayList |
| 高頻首尾增刪、少隨機訪問 | LinkedList / ArrayDeque |
| 去重、無序 | HashSet |
| 去重、保持插入序 | LinkedHashSet |
| 去重、自然排序 | TreeSet |
| Key-Value、高性能 | HashMap |
| Key-Value、保持插入序 | LinkedHashMap |
| Key-Value、Key 有序 | TreeMap |
| 多線程高併發 Map | ConcurrentHashMap |
Java 容器框架核心在於 **介面與實現分離**、**底層數據結構特性差異**、**equals/hashCode 契約**。掌握結構圖、核心方法、選型表,即可應對絕大多數業務開發與面試考察。