多次迭代Iterator

来源:百度知道 编辑:UC知道 时间:2024/06/10 00:34:41
Iterator it =list.iterator();
我用it将list迭代出来,迭代完后,我还想重复迭代一次可以吗?要怎么实现
重头重新迭代

使用 Iterator 的子接口 ListIterator

里面有个方法
hasPrevious
boolean hasPrevious()如果以反向遍历列表,列表迭代器有多个元素,则返回 true。(换句话说,如果 previous 返回一个元素而不是抛出异常,则返回 true)。

返回:
如果以反向遍历列表,列表迭代器有多个元素,则返回 true。

previous
E previous()返回列表中的前一个元素。可以重复调用此方法来迭代列表,或混合调用 next 来前后移动(注意交替调用 next 和 previous 将重复返回相同的元素)。

返回:
列表中的上一个元素。
抛出:
NoSuchElementException - 如果没有可迭代的上一个元素。

previousIndex
int previousIndex()返回对 previous 的后续调用所返回元素的索引。(如果列表迭代器在列表的开始,则返回 -1)。

返回:
对 previous 的后续调用所返回元素的索引,如果列表迭代器在列表的开始,则返回 -1。