为什么list集合在迭代增删中会出现 java.util.ConcurrentModificationException(并发修改异常)

java.util.ConcurrentModificationException出现的原因及解决方式

首先观看下面的代码和其运行结果:
为什么list集合在迭代增删中会出现 java.util.ConcurrentModificationException(并发修改异常)_第1张图片
在这里插入图片描述
显然上述代码出现了并发的异常,那么这是什么原因产生的呢?是因为迭代器增删运算时,添加了集合的增删操作,这样的写法无疑是添加了JVM虚拟机的运行效率,而且其中存在很多的问题,并发问题就自然而然存在了,这就是无疑于班长在点名,班主任不断的去喊同学们去谈话,数据就很容易产生错乱。
解决问题的思路:
1.迭代器的遍历,迭代器完成其相对于的增删操作,但要注意的是迭代器没有增加的方法,需要使用迭代器的特有的迭代器对象:ListIterator的增加方法。列表迭代器:ListIteartor,是Iterator的字接口,拥有Itrator的所有的所有的方法,列表迭代器的获取:listIteartor();
2.集合的遍历,集合的增加和删除,list集合的size和get方法

列表迭代器的增加:
为什么list集合在迭代增删中会出现 java.util.ConcurrentModificationException(并发修改异常)_第2张图片
迭代器的删除:
为什么list集合在迭代增删中会出现 java.util.ConcurrentModificationException(并发修改异常)_第3张图片
集合的增加:
为什么list集合在迭代增删中会出现 java.util.ConcurrentModificationException(并发修改异常)_第4张图片

你可能感兴趣的:(Java)