java.util.ConcurrentModification

2017-05-17  本文已影响0人  Shawn_GBWang

平时我们在项目中,对List集合或者map进行迭代并进行增加或者删除操作时,就会出现java.util.ConcurrentModificationException 这个异常信息。下面我们就来讨论以下这个异常出现的原因以及解决办法。

实例

看上图,运行这段代码,就会抛出异常。

解决方案:

一 单线程:

在iterator类中有一个remove()方法,看下图

iterator.remove()

在这个方法中删除元素实际上调用的就是list.remove()方法,因此,在迭代器中如果要删除元素的话,需要调用Itr类的remove方法。

将上述代码改为下面这样就不会报错了:

正确代码

多线程的解决方案等我晚上回去再说

上一篇 下一篇

猜你喜欢

热点阅读