首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

JDK 5.0 集合框架新特性與實戰總結:泛型、For-Each、Comparator 進階用法

     編輯:Java 程式設計入門

JDK 5.0 集合框架最大變革為泛型支援,讓集合能指定元素型別,編譯期型別安全。本文系統整理核心介面、迭代新寫法、排序查找、主流集合特性與選型指南。

核心介面泛型化

public interface Collection { boolean add(E e); Iterator iterator(); }
public interface Iterator { E next(); boolean hasNext(); void remove(); }

迭代寫法演進

// 5.0 前
Iterator it = c.iterator();
while (it.hasNext()) { String s = (String)it.next(); ... }

// 5.0 For-Each(適用所有實作 Iterable 的類別)
for (String s : c) { ... }

Iterator.remove() 陷阱

呼叫 remove() 前必須先呼叫 next(),否則拋出 IllegalStateException。連續刪除相鄰元素,每次刪除前皆需 next()。

排序與查找

  • Collections.sort(list):預設依 Comparable 自然順序。
  • Collections.sort(list, comparator):自訂 Comparator。
  • 反向排序:Collections.reverseOrder(comparator)。
  • 二分搜尋 Collections.binarySearch():前提列表已排序且支援隨機存取(如 ArrayList),否則效率極低。

主流集合特性速查表

集合特性適用場景
ArrayList動態陣列、隨機存取快、中間增刪慢、非執行緒安全單執行緒、頻繁隨機存取
LinkedList雙向鏈表、順序存取、任意位置增刪快、get(n) 仍順序遍歷頻繁頭尾增刪、佇列/棧
HashSetHash 索引、無序、不重複快速查找、去重
TreeSet有序 Set(紅黑樹)需排序且不重複
LinkedHashSet保持插入順序需插入順序且不重複
PriorityQueue優先權佇列、最小元素優先出佇任務排程、最小值快速取出
HashMapKey/Value、非執行緒安全、效率優於 Hashtable一般鍵值對存儲
TreeMapKey 有序 Map需按 Key 排序
LinkedHashMap保持插入順序 Map需插入順序的鍵值對

掌握泛型與集合特性,能寫出更安全、高效、可維護的程式碼。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved