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

Java 集合遍歷進化史:從 Enumeration 到 Iterator 的設計改進與最佳實踐

     編輯:Java 相關知識

比較 Enumeration 與 Iterator 遍歷集合的差異,說明 Iterator 支援 remove() 安全刪除、適用範圍更廣 (List、Set、Map) 的設計優勢。

1. Enumeration (舊版,僅 Vector 支援)

Enumeration e = v.elements();
while (e.hasMoreElements()) {
  Customer c = (Customer) e.nextElement(); // 需強制轉型
}

缺點:遍歷過程中刪除元素效果不佳,建議改用 Iterator。

2. Iterator (改進版,通用集合支援)

Iterator it = v.iterator(); // 亦適用 ArrayList, HashTable 等
while (it.hasNext()) {
  Customer c = (Customer) it.next(); // 同樣需強制轉型
  // 安全刪除:it.remove(); // 僅移除上次 next() 回傳的元素
}

方法對照表

EnumerationIterator
hasMoreElements()hasNext()
nextElement()next()
無remove()

設計心得

  • Vector 內部採用順序儲存 (陣列),動態擴容效率較差。
  • Iterator 設計為游標模式,底層可對應鏈結串列等結構,與集合修改同步性更好。
  • 現代 Java 開發**一律優先使用 Iterator** (或增強型 for 迴圈 for (E e : coll)),Enumeration 僅維護舊版 API 相容性。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved