JDK源码阅读之ListIterator接口
package java.util;
public interface ListIterator<E> extends Iterator<E> {
// Query Operations
boolean hasNext();
E next();
boolean hasPrevious();
E previous();
int nextIndex();
int previousIndex();
// Modification Operations
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仅能遍历,
不能修改。