複製鏈接
請複製以下鏈接發送給好友

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僅能遍歷,不能修改。