问题
java.util.ConcurrentModificationException
at java.util.ArrayList$ArrayListIt
原因
在java中, 在对一些集合迭代的过程中对集合进行一些修改的操作, 比如说add,remove之类的操作, 搞不好就会抛ConcurrentModificationException, 这一点在API文档上也有说。
解决方法
- 更改为普通的for循环
- 把ArrayList声明为 CopyOnWriteArrayList
- 增加同步锁
例如用Collections.synchronizedCollection() 去同步集合,增加同步锁会影响效率。