長度固定,無法運行期動態增減元素。
Java 集合框架提供三大 List 實現,底層儲存模擬陣列,元素型別統一為 Object (泛型擦除後),可存放任意物件。
synchronized (執行緒安全);ArrayList 非同步。多執行緒建議用 Collections.synchronizedList 或 CopyOnWriteArrayList。get(index):O(1)| 場景 | 推薦 | 理由 |
|---|---|---|
| 頻繁隨機存取、尾部操作、單執行緒 | ArrayList | 效能最佳、無同步開銷 |
| 頻繁隨機存取、多執行緒 | Collections.synchronizedList(ArrayList) / CopyOnWriteArrayList | 執行緒安全、效能優於 Vector |
| 頻繁中間增刪 | LinkedList | O(1) 增刪、無位移開銷 |
| 需指定初始容量、避免擴容 | ArrayList(int initialCapacity) / Vector(int initialCapacity, int capacityIncrement) | 減少記憶體重分配 |
理解底層資料結構 (動態陣列 vs 鏈結串列) 與同步策略,依訪問模式與執行緒需求選型,而非盲目預設使用 Vector。