出现java.util.ConcurrentModificationException 问题及解决办法
发布时间 - 2026-01-10 23:02:15 点击率:次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
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
原生JS实现图片轮播切换效果
如何自定义建站之星网站的导航菜单样式?
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
教学论文网站制作软件有哪些,写论文用什么软件
?
谷歌Google入口永久地址_Google搜索引擎官网首页永久入口
如何在橙子建站上传落地页?操作指南详解
如何快速选择适合个人网站的云服务器配置?
Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)
香港服务器如何优化才能显著提升网站加载速度?
Laravel如何实现API版本控制_Laravel版本化API设计方案
Python数据仓库与ETL构建实战_Airflow调度流程详解
详解vue.js组件化开发实践
Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】
Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】
如何在不使用负向后查找的情况下匹配特定条件前的换行符
java ZXing生成二维码及条码实例分享
如何续费美橙建站之星域名及服务?
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
JavaScript中的标签模板是什么_它如何扩展字符串功能
edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】
如何利用DOS批处理实现定时关机操作详解
如何快速重置建站主机并恢复默认配置?
如何确认建站备案号应放置的具体位置?
焦点电影公司作品,电影焦点结局是什么?
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
浅谈javascript alert和confirm的美化
Laravel如何实现一对一模型关联?(Eloquent示例)
微信小程序 canvas开发实例及注意事项
Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件
nginx修改上传文件大小限制的方法
如何获取上海专业网站定制建站电话?
网站制作壁纸教程视频,电脑壁纸网站?
iOS验证手机号的正则表达式
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程
详解Android图表 MPAndroidChart折线图
Android仿QQ列表左滑删除操作
高端智能建站公司优选:品牌定制与SEO优化一站式服务
Laravel怎么清理缓存_Laravel optimize clear命令详解
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)
夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
Python自动化办公教程_ExcelWordPDF批量处理案例
Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】
Laravel如何使用Passport实现OAuth2?(完整配置步骤)
上一篇:laravel多种前台会员怎么搞
上一篇:laravel多种前台会员怎么搞

