java里面在遍历集合的时候对集合进行添加或者删除修改时的并发修改异常
2017-12-10 11:13
459 查看
在今天看视频的时候讲到修改集合元素的时候会出现并发修改异常
就是像这样
ArrayList<Integer> list = new ArrayList<>(); list.add(1); for(int i:list){ list.remove(i); }
此时就会报并发修改异常
因为你在进入循环的时候已经确定了集合的大小,修改之后再去按照原大小去遍历的话肯定是不对的解决方法有:
用常规for循环,判断条件改为每次进行集合大小的计算:i<list.size();
java里面提供了一种适应这种操作的集合CopyOnWriteArrayList,使用它可直接避免这种异常
相关文章推荐
- list,set等集合遍历时,不能remove集合中的元素。需要new一个Object或者list,set,里面add需要删除的元素,等集合遍历完了进行remove(Object)或者removeAll(list/set)操作
- java.util.ConcurrentModificationException ,遍历集合并同时修改集合,并发造成的异常解决办法
- 在Map或者Collection的时候,不要用它们的API直接修改集合的内容(否则会出现 java.util.ConcurrentModificationException 异常)
- 关于java集合的遍历以及ConcurrentModificationException(并发操作异常)
- 对JAVA集合进行遍历删除时务必要用迭代器
- ShopEx customSchema 定制可以根据客户的需求对网站进行相应功能的添加修改或者删除
- 对JAVA集合进行遍历删除时务必要用迭代器 推荐
- Java集合之ConcurrentModificationException(并发修改异常)分析
- 对JAVA集合进行遍历删除时务必要用迭代器
- 深入分析集合并发修改异常(源码分析)java.util.ConcurrentModificationException
- java操作xm——添加、修改、删除、遍历
- Java集合迭代器之fail-fast机制: 关于java集合的遍历以及ConcurrentModificationException(并发操作异常)
- Java读取json文件并对json数据进行读取、添加、删除与修改操作
- List集合遍历时修改元素出现并发修改异常总结
- 对JAVA集合进行遍历删除时务必要用迭代器
- 对JAVA集合进行遍历删除时务必要用迭代器
- Java 遍历Map(包括集合)时,修改删除元素
- 在list集合中的添加、修改、删除和遍历元素
- 对JAVA集合进行遍历删除时务必要用迭代器
- 对JAVA集合进行遍历删除时务必要用迭代器