我用迭代器类来解决一个问题。我认为hashset的iterator()方法返回其迭代器的集合。但是每当我运行这段代码(尤其是第5行)时,就会出现concurrentmodificationexception,即使我已经检查了迭代器是否有下一个元素。
对不起,我的英语不好,但我真的想找出我的代码有什么问题,并解决问题。
for (int i = 0; i < N; i++) {
int input = scan.nextInt();
iterator = set.iterator();
while (iterator.hasNext()) {
int num = iterator.next();
if (!set.contains(num + input)) set.add(num + input);
}
}
1条答案
按热度按时间vnjpjtjt1#
将添加项存储在本地集合/列表中。
在整体迭代之后,只需将它们全部添加