首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Map遍历java.util.ConcurrentModificationException错误

2012-09-20 
Map遍历java.util.ConcurrentModificationException异常在for (Iterator iterator keySet.iterator() i

Map遍历java.util.ConcurrentModificationException异常

for (Iterator iterator = keySet.iterator(); iterator.hasNext();) {

。。。。。

dKeyObjectMap.remove(key);

?

}

后在执行了remove方法之后,再去执行循环,iter.next()的时候(当然,如果remove的是最后一条,就不会再去执行next()操作了)

所以,产生ConcurrentModificationException的原因就是:
执行remove(Object o)方法之后,modCount和expectedModCount不相等了。然后当代码执行到next()方法时,判断了checkForComodification(),发现两个数值不等,就抛出了该Exception。
要避免这个Exception,就应该使用remove()方法。

热点排行