読者です 読者をやめる 読者になる 読者になる

decadence

個人のメモ帳

ConcurrentMofidicationException

java.util.ConcurrentModificationException

このような例外を頂きました
一応どのようなものかと言うとjavadocから引用

この例外は、オブジェクトの同時変更を検出したメソッドによって、そのような変更が許可されていない場合にスローされます。 

特に並列とかもなにもしてないんですが,
Iteratorを用いた際の反復的削除が行われる際に生じる模様.

for (HashMap<String, String> taple : taples) {
	System.out.println(taple.values());
	if (taple.values().containsAll(deleteTaple)) {
		taples.remove(taple);
	}
}

こんな感じのとこで生じてました.

こちらの方などを参考に適当になおしなおし
自分の以前のコードを再利用しなければならなく,taplesがCollectionの中にHashMapが入ってるという糞な仕様なせいで結果としてこんな感じで動きました

Object[] tapleList = taples.toArray();
for (Object taple : tapleList) {
	if (((HashMap<String, String>) taple).values().containsAll(deleteTaple)) {
		taples.remove(taple);
	}
}

知らない例外がでるとあせるあせる…

広告を非表示にする