java.util.ConcurrentModificationException 解决办法

前言:
在使用iterator.hasNext()操作迭代器的时候,如果此时迭代的对象发生改变,比如插入了新数据,或者有数据被删除。
则使用会报以下异常:
Java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
at java.util.HashMap$KeyIterator.next(HashMap.java:828)
例如以下程序(转自互联网):
mport java.util.*;
public class Main
{
public static void main(String args[])
{
Main main = new Main();
main.test();
}
public void test()
{
Map bb = new HashMap();
bb.put("1", "wj");
bb.put("2", "ry");
Iterator it = bb.keySet().iterator();
while(it.hasNext()) {
Object ele = it.next();
bb.remove(ele); //wrong
}
System.out.println("Success!");
}
}
原因:Iterator做遍历的时候,HashMap被修改(bb.remove(ele), size-1),Iterator(Object ele=it.next())会检查HashMap的size,size发生变化,抛出错误ConcurrentModificationException。
解决办法:
1) 通过Iterator修改Hashtable
while(it.hasNext()) {
Object ele = it.next();
it.remove();
}
2) 根据实际程序,您自己手动给Iterator遍历的那段程序加锁,给修改HashMap的那段程序加锁。
3) 使用“ConcurrentHashMap”替换HashMap,ConcurrentHashMap会自己检查修改操作,对其加锁,也可针对插入操作。
import java.util.concurrent.*;
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# java.util.ConcurrentModificationException
# 问题
# java.util出现错误
# ConcurrentModificationException
# Java ConcurrentModificationException异常解决案例详解
# 详解Java删除Map中元素java.util.ConcurrentModificationExce
# Java源码解析ArrayList及ConcurrentModificationException
# java.util.ConcurrentModificationException 解决方法
# java 集合并发操作出现的异常ConcurrentModificationException
# Java 报错 java.util.ConcurrentModificationException:
# 加锁
# 遍历
# 那段
# 会报
# 解决办法
# 迭代
# 互联网
# 也可
# 对其
# 希望能
# 谢谢大家
# 转自
# 抛出
# KeyIterator
# HashIterator
# nextEntry
# mport
# public
# Main
# strong
相关文章:
css网站制作参考文献有哪些,易聊怎么注册?
网站设计制作企业有哪些,抖音官网主页怎么设置?
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
C#如何使用XPathNavigator高效查询XML
移民网站制作流程,怎么看加拿大移民官网?
C#如何在一个XML文件中查找并替换文本内容
外贸公司网站制作,外贸网站建设一般有哪些步骤?
专业商城网站制作公司有哪些,pi商城官网是哪个?
北京营销型网站制作公司,可以用python做一个营销推广网站吗?
网站制作软件有哪些,制图软件有哪些?
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
广州顶尖建站服务:企业官网建设与SEO优化一体化方案
唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?
如何在Golang中使用replace替换模块_指定本地或远程路径
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
网站制作说明怎么写,简述网页设计的流程并说明原因?
微信小程序 input输入框控件详解及实例(多种示例)
小型网站建站如何选择虚拟主机?
如何快速查询网站的真实建站时间?
网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?
制作网站的模板软件,网站怎么建设?
西安大型网站制作公司,西安招聘网站最好的是哪个?
,sp开头的版面叫什么?
成都响应式网站开发,dw怎么把手机适应页面变成网页?
建站之星安全性能如何?防护体系能否抵御黑客入侵?
导航网站建站方案与优化指南:一站式高效搭建技巧解析
定制建站平台哪家好?企业官网搭建与快速建站方案推荐
如何通过FTP服务器快速搭建网站?
用v-html解决Vue.js渲染中html标签不被解析的问题
建站之星导航如何优化提升用户体验?
沈阳制作网站公司排名,沈阳装饰协会官方网站?
微信h5制作网站有哪些,免费微信H5页面制作工具?
香港服务器租用每月最低只需15元?
免费网站制作appp,免费制作app哪个平台好?
无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
如何在橙子建站上传落地页?操作指南详解
高防服务器租用如何选择配置与防御等级?
建站之星代理费用多少?最新价格详情介绍
营销式网站制作方案,销售哪个网站招聘效果最好?
如何在阿里云域名上完成建站全流程?
如何快速生成专业多端适配建站电话?
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
如何做网站制作流程,*游戏网站怎么搭建?
如何快速生成可下载的建站源码工具?
如何在自有机房高效搭建专业网站?
小型网站制作HTML,*游戏网站怎么搭建?
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
*请认真填写需求信息,我们会在24小时内与您取得联系。