Java 集合類位於 java.util 包,只能存放物件引用(JDK 1.5+ 支援泛型限制元素類型)。核心由兩大介面派生:
List(有序、可重複)、Set(無序、不可重複)、Queue(隊列)常用實現:ArrayList、HashSet、HashMap。
add(E e)、remove(Object o)、size()、clear()、contains(Object o)、isEmpty()Iterator<String> it = collection.iterator();
while (it.hasNext()) {
String s = it.next();
// 僅能透過 it.remove() 安全刪除當前元素
if ("target".equals(s)) it.remove();
}
注意:迭代過程中直接操作集合(非透過 Iterator)會拋 ConcurrentModificationException。
for (String s : collection) {
System.out.println(s);
}
優點:語法簡潔、避免下標越界、配合泛型可讀性高。缺點:無法獲取索引、無法在遍歷中修改集合結構。
| 集合類型 | 有序性 | 可重複 | 訪問方式 | 典型實現 |
|---|---|---|---|---|
| List | ✓ | ✓ | 索引 | ArrayList, LinkedList |
| Set | ✗ | ✗ | 元素本身 | HashSet, LinkedHashSet, TreeSet |
| Map | 視實現而定 | Key 不重複 | Key | HashMap, LinkedHashMap, TreeMap |
JDK 1.5 前集合視所有元素為 Object,取出需強轉且不安全。引入泛型後:
ClassCastException<>)掌握 Collection/Map 體系、遍歷選擇原則、泛型優勢,是 Java 開發基石。實際開發中優先考慮 ArrayList、HashMap、HashSet,特殊場景再選 LinkedList、TreeMap 等。