java 遍历 删除元素 List Set
来源:互联网 发布:手机多开软件 编辑:程序博客网 时间:2024/05/21 13:58
参考 http://a455360448201209214217.iteye.com/blog/1888762
今天在做项目时,需要删除List和Set中的某些元素,当时使用边遍历,边删除的方法,却报了以下异常:
ConcurrentModificationException
为了以后不忘记,使用烂笔头把它记录如下:
错误代码的写法,也就是报出上面异常的写法:
- Set<CheckWork> set = this.getUserDao().getAll(qf).get(0).getActionCheckWorks();
- for(CheckWork checkWork : set){
- if(checkWork.getState()==1){
- set.remove(checkWork);
- }
- }
注意:使用上面的写法就会报上面的ConcurrenModificationException异常,原因是,集合不可以一边遍历一边删除。
正确的写法如下:
1. 遍历删除List
- List<CheckWork> list = this.getUserDao().getAll();
- Iterator<CheckWork> chk_it = list.iterator();
- while(chk_it.hasNext()){
- CheckWork checkWork = chk_it.next();
- if(checkWork.getPlanState()==1){
- chk_it.remove();
- }
- }
2. 遍历删除Set
- Set<CheckWork> set = this.getUserDao().getAll().get(0).getActionCheckWorks();
- Iterator<CheckWork> it = set.iterator();
- while(it.hasNext()){
- CheckWork checkWork = it.next();
- if(checkWork.getState()==1){
- it.remove();
- }
- }
0 0
- java 遍历 删除元素 List Set
- java 遍历 删除元素 List Set
- java 遍历list、set时 删除元素 java.util.ConcurrentModificationException
- Java 循环遍历删除set list中的元素
- Java循环删除List Set中的元素
- 编程技巧系列(2)Java 集合(List,Set,Map)遍历时有条件删除特定元素
- 【Java】集合(List、Set、Map)遍历、删除、比较元素时的小陷阱
- Java 集合(List、Set)遍历、判断、删除元素时的小陷阱
- java中循环遍历删除List和Set集合中元素的方法
- Java List遍历中删除元素
- java中List遍历删除元素
- Java遍历List,删除自身元素
- 遍历List,删除元素
- Java动态遍历List 时删除List特征元素
- Java删除List和Set集合中元素
- 遍历List删除元素问题
- List遍历中删除元素
- 遍历List时 删除元素
- 文件存储
- 01背包问题---动态规划详解
- Redis源码剖析--对象object
- pdf中怎么编辑修改内容
- BeanFactoryPostProcessor和BeanPostProcessor的区别
- java 遍历 删除元素 List Set
- spring的rabbitmq配置
- NOIP2016全国信息学分区联赛提高组第二试 蚯蚓
- 初次实践自定义View
- 【Opencv笔记】利用VideoCapture和VideoWriter函数读取和写入视频文件
- Java反射简介
- Android学习——maven插件的安装以及关联源码的几种方式总结
- 项目3-点结构体(2)
- Spring容器中的Bean几种初始化方法和销毁方法的先后顺序