在迭代期间向集合添加元素

在迭代期间向集合添加元素

是否可以在迭代时向元素添加元素?

更具体地说,我想迭代一个集合,如果一个元素满足某个条件,我想在集合中添加一些其他元素,并确保迭代这些添加的元素。(我意识到这可能导致一个无终止的循环,但我很确定它不会在我的情况下。)

Sun 的Java教程表明这是不可能的:“请注意,这Iterator.remove是在迭代期间修改集合的唯一安全方法;如果在迭代进行过程中以任何其他方式修改基础集合,则行为未指定。”

所以如果我不能用迭代器做我想做的事,你建议我做什么?


慕尼黑5688855
浏览 655回答 3
3回答

沧海一幻觉

如何使用您想要迭代的元素构建一个Queue; 当您想要添加元素时,将它们排入队列的末尾,并继续删除元素,直到队列为空。这是广度优先搜索通常的工作方式。

慕村9548890

您可能还想查看一些更专业的类型,如ListIterator,NavigableSet和(如果您对地图感兴趣)NavigableMap。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java