java.util.ConcurrentModificationException: null异常由for增强循环嵌套增删引起。
问题:
在Java中对集合使用增强for循环时,一旦对集合进行增删操作,在遍历时会引起java.util.ConcurrentModificationException: null异常。
原因:
在官方文档中ConcurrentModificationException的介绍如下:
public class ConcurrentModificationException extends RuntimeException
某个线程在 Collection 上进行遍历时,通常不允许其他线程修改该 Collection,这会导致遍历的结果是不确定的。当方法检测到集合发生并发修改时,不允许这种修改,抛出此异常。
在执行增删操作以后,集合的expectedModCount和modCount的值不一致,这两个变量的作用都是记录修改次数的,二者不相等,就会抛错。
expectedModCount:表示对ArrayList修改次数的期望值,它的初始值为modCount。
modCount是AbstractList类中的一个成员变量。
解决方法:
方法一:使用索引(普通for循环)遍历。
方法二:使用增强for循环遍历,增删操作使用迭代器实现。
-------------------------------------以下无正文-----------------------------------------------------------
注:仅供学习,记录问题和参考,共勉!
转载来源:https://blog.csdn.net/jl08133341/article/details/123128108
java.util.ConcurrentModificationException: null异常由for增强循环嵌套增删引起。相关推荐
- java.util.ConcurrentModificationException: null异常(已解决,原因出自于Java集合的快速失败机制)
问题来源 今天我在写项目时,对集合中的元素做了以下操作 报错信息如图 问题来源: 在Java中对集合进行遍历时,一旦对集合进行增删操作,在遍历时会引起java.util.ConcurrentModif ...
- 出现 java.util.ConcurrentModificationException 时的解决办法
for (int i=0; i<list.size(); i++) { // 只有在这种方式遍历集合时,同时对集合增加.删除才不会影响. // list.remove(list.get(i)); ...
- java.util.ConcurrentModificationException详解
一.异常产生 当我们迭代一个ArrayList或者HashMap时,如果尝试对集合做一些修改操作(例如删除元素),可能会抛出java.util.ConcurrentModificationExcept ...
- 非线程安全类ArrayList出现异常:java.util.ConcurrentModificationException
今天执行了一段<图解多线程设计模式>中的代码,结果抛出了如下的异常: Exception in thread "ReaderThread" java.util.Conc ...
- 为什么会出现 java.util.ConcurrentModificationException 异常?
http://www.iteye.com/topic/124788 在Map或者Collection的时候,不要用它们的API直接修改集合的内容(否则会出现 java.util.ConcurrentM ...
- java.util.ConcurrentModificationException异常原因及解决方法
java.util.ConcurrentModificationException异常原因及解决方法 参考文章: (1)java.util.ConcurrentModificationExceptio ...
- 异常:java.util.ConcurrentModificationException
Quote: 异常:java.util.ConcurrentModificationException 在Map或者Collection的时候,不要用它们的API直接修改集合的内容,如果要修改可以用I ...
- java.util.ConcurrentModificationException异常
2019独角兽企业重金招聘Python工程师标准>>> <p> 今天遇到了一个小bug,在对ArrayList操作时出现了java.util.ConcurrentM ...
- hashMap异常:java.util.ConcurrentModificationException
hashMap异常:java.util.ConcurrentModificationException 参考文章: (1)hashMap异常:java.util.ConcurrentModificat ...
最新文章
- python使用numpy生成指定步长的浮点数序列
- 图像处理之霍夫变换(直线检測算法)
- CCS(Code Composer Studio) 10.2.0的下载和安装(最新教程)
- SAP ByD 期末结账步骤简化(不完整)方法
- 5行代码帮你梳理EOS.IO的脉络
- 关于stm32F4CAN总线调试
- 第一夜 主公说啥俺做啥
- python实用脚本 知乎_停课不停学|38 个免费 Python 项目合集,从小白到老司机!...
- php调用swf文件上传,swfupload-jquery-plugin AJAX+PHP 文件上传
- [转载] Java 中字符串转整型和整型转字符串
- ubuntu20输入法qiehuan_UBUNTU 20 输入法问题
- oracle无效的关系运算符_每日一课 | Java 8中的instanceof运算符和访客模式替换
- GNU C - Using GNU GCC __attribute__ mechanism 01 Function Attribute
- 使用VideoView实现简单视频播放器
- SoapUI5.1.2安装和破解教程
- multisim10中设置变压器匝数比的两种方法
- 信息管理系统技术开发合同书(补充协议)模板
- 微信公众号开发测试平台地址
- 使用 Kind 在 5 分钟内快速部署一个 Kubernetes 高可用集群
- CorelDRAW X4精简版序列号大家为何对其情有独钟?x8