-
ListIterator
鎖定
java中的ListIterator在Iterator基礎上提供了add、set、previous等對列表的操作。但是ListIterator跟Iterator一樣,仍是在原列表上進行操作。
- 中文名
- 鏈表迭代器
- 外文名
- ListIterator
- 所屬學科
- 計算機
迭代器這個名詞對於熟悉Java的人來説絕對不陌生。我們常常使用JDK提供的迭代接口進行Collection的遍歷
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僅能遍歷,不能修改。