`
suky
  • 浏览: 145391 次
  • 性别: Icon_minigender_2
  • 来自: 厦门
社区版块
存档分类
最新评论

java.util.ConcurrentModificationException解决

阅读更多

     遍历集合时要注意的地方:不可以对改集合相关的地方做添加或删除操作。

for(Map.Entry<String, String> m:foMap.entrySet()){

...
foMap.remove(m.getKey());
...

}

 


      运行类似这样的代码,就会抛java.util.ConcurrentModificationException异常。

解决方法可以是: 在遍历时用一个集合存放要删除的对象,在遍历完后,调用

 

removeAll(Collection<?> c)

Collection<String> removeC = new ArrayList<String>();
for(Map.Entry<String, String> m:foMap.entrySet()){

...
removeC.add(m.getKey());
...
}
if(removeC.size()!=0) foMap.keySet().removeAll(removeC);
 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics