我需要知道如何将 LinkedList 迭代器“重置”到它的第一个元素。
例如:
LinkedList<String> list;
Iterator iter=list.listIterator;
iter.next();
iter.next();
一遍又一遍,在迭代器多次移动后,我需要“重置”迭代器的位置。
我想问一下如何将迭代器“重置”为第一个元素。
我知道我可以通过这种方式获得第一个元素的列表迭代器:
iter= list.listIterator(1);
这是最好的解决方案吗?或者我错过了 Oracle 文档中的某些内容?
原文由 Krzysztof 发布,翻译遵循 CC BY-SA 4.0 许可协议
最好根本不要使用
LinkedList
,通常它在所有学科中都比较慢,而且不太方便。 (当主要插入/删除到前面时,特别是对于大数组LinkedList更快)使用
ArrayList
,并迭代重置是微不足道的,只需再次循环。
如果你坚持使用迭代器,那么你必须使用一个新的迭代器:
(我一生中只看到过一次 LinkedList 的优势:我可以通过 while 循环遍历并删除第一个元素)