我有一个 for 循环
for (int neighbour : neighbours) {
我可以neighbours
在循环内修改的地方。发现这就是原因ConcurrentModificationException
。并从https://stackoverflow.com/a/8189527/292291阅读
因此,如果您想修改列表(或一般的任何集合),请 使用 iterator,因为它知道修改,因此将正确处理这些修改。
所以我尝试了:
neighboursItr = neighbours.iterator();
while (neighboursItr.hasNext()) {
// try disconnecting vertices
neighbour = neighboursItr.next();
但这并不能解决问题。为什么?