如果在这你还没有对Iterator进行学习的话,我想你需要花费十分钟的时间对小编撰写的Iterator的部分进行学习,以便你可以更加清晰地得出这两者的区别以及各自的优势和缺点。
Java面试题之迭代器Iterator是什么?
我们需要知道的第一个则是:
(1)所属关系,ListIterator是一个Iterator的子类型。
(2)局限:只能应用于各种List类的访问。
(3)优势:Iterator只能向前移动,而ListIterator可以双向移动。
还可以产生相对于迭代器在列表中指向的当前位置的前一个和后一个元素的索引
nextIndex()、previousIndex()方法。
还可以通过set()方法替换它访问过的最后一个元素。
还可以通过调用listIterator()方法产生一个指向List开始处的ListIterator,当然也可以有参数,即指向索引为参数处的ListIterator。
(4)ListIterator 有add() 方法,可以向List 中添加对象,而Iterator 不能。