| 體系 | 核心接口/類 | 特點 |
|---|---|---|
| Array | Array、Arrays | 固定長度、隨機訪問最快、存基本類型/對象引用 |
| Collection | List(ArrayList/LinkedList/Vector)、Set(HashSet/TreeSet) | 可變長、存對象引用、List 有序可重復、Set 唯一 |
| Map | HashMap、Hashtable、TreeMap | 鍵值對、Key 唯一、Value 可重復 |
length,Collection 需 size() 獲取實際元素數| 實現 | 底層結構 | 優勢 | 劣勢 | 適用場景 |
|---|---|---|---|---|
| ArrayList | 動態數組 | 隨機訪問 O(1)、內存緊湊 | 中間增刪 O(n) 需移位 | 默認首選、讀多寫少 |
| LinkedList | 雙向鏈表 | 頭尾增刪 O(1)、實現 Deque/Queue | 隨機訪問 O(n)、內存開銷大 | 頻繁增刪、棧/隊列 |
| Vector | 同步數組 | 線程安全 | 性能差、已過時 | 極少用,建議用 Collections.synchronizedList |
Arrays:針對 Array 的排序、查找、填充、複製Collections:針對 Collection 的排序、查找、線程安全包裝、最大/最小值get(index),需迭代器遍歷Map.keySet() 返回 Set(Key 唯一),values() 返回 Collection(Value 可重複)hashCode() 定位桶位,equals() 確認相等 → 自定義 Key 必須重寫兩者