gpt4 book ai didi

java - 在将元素添加到集合之前声明迭代器

转载 作者:行者123 更新时间:2023-11-30 02:36:14 26 4
gpt4 key购买 nike

如果您创建自己的Iterable容器类并在其元素上检索java.util.Iterator,是否有任何编码模式可以根据该模式进一步添加元素容器中的内容应该不能可以从迭代器访问吗?我在想“不可能,绝对不是,事实上 Iterator 应该能够循环遍历所有元素,无论添加什么。”

或者如果在进行新添加后调用 next() ,快速失败的 Iterator 是否应该抛出异常?

自从我用 Java 编码以来已经有一段时间了,但这里有些东西很臭。

最佳答案

Is it perhaps the case that a fail-fast Iterator should throw an Exception if next() is called after a new addition is made?

正确。我相信如果您尝试使用任何 Java 内置的 Iterable 来做到这一点您将得到 ConcurrentModificationException

整个Javadoc for that exception关于这一点值得一读。非常简洁。重点不是引用整个事情,而是突出的一点是,不会快速失败的迭代器“[风险]在未来不确定的时间出现任意的、不确定的行为。”

关于java - 在将元素添加到集合之前声明迭代器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43002688/

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