Iterator与ListIterator的区别

时间:2021-10-10 21:44:02

Iterator与ListIterator

  相同点:(1)两者都是fail-fast机制,都是作为内部类实现的。

  区别:二者的区别主要是功能上的;

     (1)Iterator实现了接口Iterator,属性有cursor(下一个要遍历的元素索引),lastRest(上一个遍历元素的索引),

          方法有,hasNext(),next(),remove(),forEachRemainint()(遍历剩下的元素)

     (2)ListIterator继承于Iterator(Itr),并且实现了ListIterator接口,ListIterator构造函数可以穿一个整型参数,表示从指定位置开始遍历;

          并且在Iterator(Itr)的基础上增加了方法hasPrevious(),nextIndex(),previousIndex(),previous() ,set(E e),add(E e);

           对应的功能是:返回是否有遍历过元素,返回下一个要遍历元素的索引,返回上一个遍历元素的索引,返回上一个遍历的元素,修改当前遍历元素的值,在当前遍历的元素后面加入一个元素。