java中的ListIterator在Iterator基礎上提供了add、set、previous等對列表的操作。但是ListIterator跟Iterator一樣,仍是在原列表上進行操作。
基本介紹
- 中文名:鍊表疊代器
- 外文名:ListIterator
Iterator原始碼
package java.util;public interface Iterator<E> { boolean hasNext(); E next(); void remove();}
ListIterator原始碼
public interface ListIterator<E> extends Iterator<E> { boolean hasNext(); E next(); boolean hasPrevious(); E previous(); int nextIndex(); int previousIndex(); void remove(); void set(E e); void add(E e);}
Iterator和ListIterator主要區別在以下方面:
1. ListIterator有add()方法,可以向List中添加對象,而Iterator不能2. ListIterator和Iterator都有hasNext()和next()方法,可以實現順序向後遍歷,但是ListIterator有hasPrevious()和previous()方法,可以實現逆向(順序向前)遍歷。Iterator就不可以。3. ListIterator可以定位當前的索引位置,nextIndex()和previousIndex()可以實現。Iterator沒有此功能。4. 都可實現刪除對象,但是ListIterator可以實現對象的修改,set()方法可以實現。Iierator僅能遍歷,不能修改。