我工作的学校的一个项目,但我有点卡住,现在ArrayList中删除错误
我的问题是,我有广场 的ArrayList每个广场都有一个值(从0到100) 。它的起始值是9999,所以我可以检查它是否被检查。 如果选中一个正方形,我希望它从arrayList中移除。 所以过了一段时间,将没有广场左侧。
有,其中第一值设置代码有点所以这就是为什么我检查,如果该值为9999
,但我得到一个错误。一个我以前没见过的。
异常在线程 “AWT-EventQueue的 - 0” java.util.ConcurrentModificationException
Vak上升=广场
,这是我的代码:
while (!vakken.isEmpty()) { // check if empty
Iterator itrVak = vakken.iterator();
while (itrVak.hasNext()) {
Vak vak = (Vak) itrVak.next(); // here is get the error
if (vak.getValue() != 9999) {// check if square value is 9999
Collection checkVakken = vak.getNeighbour().values();
Iterator itre = checkVakken.iterator();
while (itre.hasNext()) {
Vak nextVak = (Vak) itre.next();
if (nextVak != null) {
if (nextVak.getValue() == 9999) {
nextVak.setValue(vak.getValue() + 1); // set value by its neighbour
vakken.remove(vak);
checkvakken.add(vak);
}
}
}
} else {
vakken.remove(vak);
checkvakken.add(vak);
}
}
}
所以它应该是itrVak.remove();?但是当我这样做时,它会在线程“AWT-EventQueue-0”中抛出异常java.lang.IllegalStateException –