遍历一个map,遍历同时对匹配某个条件的数据进行删除,然后报错 java.util.ConcurrentModificationException:
Set<String> keys = imeiMap.keySet();
Iterator itor = keys.iterator();
while(itor.hasNext()){
String key = (String)itor.next();
String value = imeiMap.get(key);
if("more".equals(value)){
imeiMap.remove(key);
}
}
没碰到过这个异常,查了下,原来是在进行遍历的时候不能将元素删除。注释掉 imeiMap.remove(key); 运行就正常了。
可以采用别的方式处理remove操作,但不能在遍历的时候删除
本文探讨了在遍历Java的Map过程中并发删除元素导致的ConcurrentModificationException异常。通过一个具体的示例代码展示了错误的发生,并提出了正确的处理方式,即在遍历过程中不应直接删除元素。
608

被折叠的 条评论
为什么被折叠?



