陣列長度固定、無法動態擴容、插入刪除效率低。Java 集合框架提供了一套完整的數據結構庫,解決「對象數量未知、生命週期不固定、需高效增刪查」的核心痛點。

| 介面 | 繼承關係 | 核心語義 |
|---|---|---|
| Collection | 根介面 | 單列集合統一規範 |
| List | extends Collection | 有序、可重複、支援下標訪問 |
| Set | extends Collection | 無序、元素唯一(靠 equals/hashCode) |
| Queue | extends Collection | 隊列語義(FIFO/優先級) |
| Map | 獨立根介面 | 鍵值對映射,Key 唯一 |
| Iterator | 獨立 | 統一遍歷機制,支援 foreach |
| Comparable | 獨立 | 自然排序規則(compareTo) |
import java.util.*;
public class TestCollection {
public static void main(String[] args) {
// 向上轉型為 List(方法更豐富),泛型指定元素類型
List<Integer> list = new ArrayList<>();
for (int i = 0; i < 10; i++) list.add(i);
for (Integer i : list) System.out.print(i + ", ");
}
}
Set<Integer> set = new HashSet<>(); Random r = new Random(47); for (int i = 0; i < 10000; i++) set.add(r.nextInt(30)); System.out.println(set); // 輸出 <=30 個唯一元素
Set<Integer> sorted = new TreeSet<>(); for (int i = 0; i < 10000; i++) sorted.add(r.nextInt(20)); System.out.println(sorted); // 輸出有序 0-19
掌握容器分類、核心介面語義、主流實現的底層數據結構(陣列/鏈表/紅黑樹/雜湊表)與性能特徵,是寫出高效、正確 Java 代碼的基礎。後續需深入:
