ListIterator:雙向遍歷、中間插入/刪除/替換。| 特性 | ArrayList* | LinkedList |
|---|---|---|
| 底層結構 | 動態陣列 | 雙向鏈表 |
| 隨機訪問 | O(1) 極快 | O(n) 慢 |
| 中間插入/刪除 | O(n) 需移動 | O(1) 極快 |
| 額外功能 | 無 | addFirst/Last, getFirst/Last, removeFirst/Last (棧/隊列/雙端隊列) |
ListIterator it = list.listIterator();
it.add("new"); // 插入
it.next(); // 必須移動游標
it.remove(); // 刪除剛訪問元素
it.set("modified"); // 替換剛訪問元素
僅建議在 LinkedList 使用此類修改操作,ArrayList 效率極低。
文中提供 List1.java 涵蓋:基本操作、迭代器移動、迭代器修改、視覺化測試、LinkedList 專屬棧/隊列操作。建議配合官方文檔深入掌握各方法細節。