ListIterator继承Iterator接口,是专门给列表使用的迭代器的接口
继承的方法
boolean hasNext();
E next();
void remove();
注意Iterator有一个default的方法forEachRemaining(Consumer<? super E> action),这个default关键词是1.8才有的,作用是为了在接口定义的方法也可以有方法体,这样兼容jdk之前版本的代码时候,特别是给父接口增加方法的时候,就会方便很多。
特有的方法
//判断前面是否有元素
boolean hasPrevious();
//返回前面一个元素
E previous();
//返回下一个元素的索引
int nextIndex();
//返回上一个元素的索引
int previousIndex();
//在next()方法返回的元素之前,修改元素
void set(E e);
//在next()方法返回的元素之前,新增元素
void add(E e);
因为是列表,所以不仅可以向后遍历,还能向前遍历,同时还能返回前后元素的索引,这里大概就能猜到,ListIterator的具体实现肯定跟数组有关系。