gpt4 book ai didi

java - 在迭代列表时将元素添加到列表中。 ( java )

转载 作者:行者123 更新时间:2023-12-02 04:23:11 26 4
gpt4 key购买 nike

Possible Duplicate:
Java: adding elements to a collection during iteration

我的问题是,我想在迭代列表时用新元素扩展列表,并且希望迭代器继续处理我刚刚添加的元素。

据我了解ListIterator.add()在列表中当前元素之前而不是之后添加一个元素。是否可以通过其他方式实现这一目标?

最佳答案

使用 Iterator 迭代 Collection 时无法修改 Collection,Iterator.remove() 除外。

但是,如果您使用 listIterator()方法,它返回一个 ListIterator,并迭代您有更多要修改的选项。来自 add() 的 javadoc:

The new element is inserted before the implicit cursor: ... a subsequent call to previous() would return the new element

鉴于此,此代码应该可以将新元素设置为迭代中的下一个元素:

ListIterator<T> i;
i.add(e);
i.previous(); // returns e
i.previous(); // returns element before e, and e will be next

除非列表开始迭代为空,否则这将起作用,在这种情况下将没有先前的元素。如果这是一个问题,您将必须维护某种标志来指示这种边缘情况。

关于java - 在迭代列表时将元素添加到列表中。 ( java ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56622225/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com