マップに整数キーが含まれ、その値として文字列のリストがあるとします。次に、私はこれを行うことはできません:
for (Map.Entry<Integer, List<String>> entry : map.entrySet()){
for (String string : entry.getValue()){
if (string.startsWith("a")){
entry.getValue().remove(string);
}
}
}
投げConcurrentModificationException
ます。しかし、私が次のことをすると:
for (Map.Entry<Integer, List<String>> entry : map.entrySet()){
entry.setValue(new ArrayList<String>());
}
これは完全に機能します。今でも基になるマップを変更していませんか?