HashMap在迭代时使用了remove报错的处理方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HashMap在迭代时使用了remove报错的处理方法相关的知识,希望对你有一定的参考价值。
今天使用迭代处理Map中的垃圾数据时,报错:java.util.ConcurrentModificationException;
--HashMap rmTypemap
for(String key : rmTypemap.keySet()) {
if("0".equals(firstCodeMap.get(key))){
rmTypemap.remove(key);
}
}
当rmTypemap remove此时迭代的对象发生改变,Iterator(Object ele=it.next())会检查HashMap的size,size发生变化,抛出错误ConcurrentModificationException。
处理方法:用ConcurrentHashMap替换HashMap,ConcurrentHashMap会自己检查修改操作,对其加锁,也可针对插入操作。
本文出自 “Mark的技术博客” 博客,请务必保留此出处http://vclisunlang.blog.51cto.com/10785931/1749695
以上是关于HashMap在迭代时使用了remove报错的处理方法的主要内容,如果未能解决你的问题,请参考以下文章
关于Support for password authentication was removed on August 13, 2021报错的解决方案