我在使用map和執行remove.How時出現下面的錯誤,如何避免這種情況?hashmap得到併發修改的問題異常
Caused by: java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
at java.util.HashMap$EntryIterator.next(HashMap.java:834)
at java.util.HashMap$EntryIterator.next(HashMap.java:832)
Map<FormField, Object> ItemMap = domainItem.getValues();
for (Map.Entry<FormField, Object> ValMap : ItemMap.entrySet()) {
List<Field> groupIdList = Mapper.getGroupId(groupFieldId);
for (Field field : groupIdList) {
ItemMap.put(new FormField(field), domainItem.getDomainItemLinkId());
}
ItemMap.remove(ValMap.getKey());
}
如何避免這種情況我還需要添加數據。 – pars
你能編輯上面的代碼片段並給我看 – pars
,請解釋我如何在我的上面代碼片段中使用迭代器 – pars