私は学校のプロジェクトに取り組んでいますが、今は少し立ち往生しています
私の問題は、私が正方形の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);
}
}
}