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);
对应的功能是:返回是否有遍历过元素,返回下一个要遍历元素的索引,返回上一个遍历元素的索引,返回上一个遍历的元素,修改当前遍历元素的值,在当前遍历的元素后面加入一个元素。