有什麼辦法可以修改特定鍵的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 2014-10-17 05:23:03