2017-04-06 74 views
0

我要添加新的元素,地圖<整數,列表<整數>>(關鍵是總和值是數字)java的修改進行遍歷時,它映射

int c = 3; 
for (Map.Entry<Integer, List<Integer>> entry : map.entrySet()) { 
       int key = entry.getKey() + c; 
       List<Integer> l = new ArrayList<>(entry.getValue()); 
       l.add(c); 
       map.put(key, l); 
      } 

如: 前碼映射(3,[1,2]) 地圖後(3,[1,2]; 6,[1,2,3])

我java.util.ConcurrentModificationException 但是,當我改變鍵像常量:int key = 6;它的工作原理是 。

感謝您的時間

回答

0

添加,刪除或編輯,有時可能會出現問題,而使用增強的for循環,它是安全的,只用它們來訪問元素。嘗試使用常規for循環,它應該解決問題。

+0

你能告訴我另一種迭代映射的方法嗎 – travis