Есть ли способ изменить значения HashMap
определенного ключа при его повторении?Java - Исключение в потоке «main» java.util.ConcurrentModificationException
Пример программы приведен ниже: Метательное
public static void main(String[] args) {
HashMap<Integer,ArrayList<String>> hm = new HashMap<Integer, ArrayList<String>>();
ArrayList<String> ar = new ArrayList<String>();
for(int i=0;i<50;i++){
ar.add(Integer.toString(i));
}
hm.put(1, ar);
for(String s:hm.get(1)){
hm.get(1).add("hello");
}
}
Ошибка:
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(Unknown Source)
at java.util.ArrayList$Itr.next(Unknown Source)
at Excp.main(Excp.java:17)
Я не понимаю, что вы пытаетесь достичь. Цикл 'for' просто добавляет' 'hello" 'в' ArrayList' для каждой строки в нем ... не могли бы вы просто добавить 'ArrayList.size()' число '" hello "строк к этому' ArrayList '? Но я понятия не имею, почему вы хотели бы это сделать. – Jared