Я пишу эту программу на Java и получаю java.util.ConcurrentModificationException. Выдержка из кода приведена ниже, пожалуйста, дайте мне знать, требуется ли больше кода.Исключение одновременной модификации в HashMap
for (String eachChar : charsDict.keySet()) {
if (charsDict.get(eachChar) < 2) {
charsDict.remove(eachChar);
}
}
charsDict
определяется как
Map<String, Integer> charsDict = new HashMap<String, Integer>();
Пожалуйста, помогите мне :)
Принимает это как код более кратким. Спасибо :) Кроме того, я узнал, что итераторы находятся в процессе. Однако я должен добавить, что код Heuster также отлично работает. – pratnala
@pratnala Да, другой ответ тоже работает, но с итератором вы избегаете создания ненужного списка и дважды запрашиваете карту (получите + удалить). – assylias
Woah! Просто перебирайте значения и удаляйте значение. Но не связано ли значение с ключом? Итак, как все иначе? Кроме того, что код чище, чем есть. – pratnala