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);
 

你可能感兴趣的:(java,C++,c,C#)