gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 21:05:58 24 4
gpt4 key购买 nike

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

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

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

最佳答案

您不能在使用 Iterator 对其进行迭代时修改 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/7409740/

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