gpt4 book ai didi

java - ArrayList 的并发修改异常

转载 作者:行者123 更新时间:2023-12-01 14:56:50 33 4
gpt4 key购买 nike

我遇到了 ConcurrentModificationException 问题。

我有一个我定义的Complex类的ArrayList。我添加了两个Complexes,并尝试为每个执行循环,但我得到了ConcurrentModificationException。但是,当我删除该行时,我没有收到任何错误。我需要这些初始点 (1,0)(-1,0) 来计算稍后需要的点。

        for (Iterator<Complex> num = dots.iterator(); num.hasNext();) {
// ConcurrentModificationException
Complex aComplex = num.next();
// clone it and clear
temp.add(new Complex(aComplex));
dots.clear();
}

最佳答案

在迭代集合时无法修改集合。如果你想移动dots.clear();和 temp.clear() 迭代之外;它会得到解决。如果需要,您可以在需要清除这些集合时创建一个标志;迭代结束后您可以清除它们。

关于java - ArrayList 的并发修改异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14249482/

33 4 0