技术标签: java集合怎么遍历删除
今天在做项目时,需要删除List和Set中的某些元素,当时使用边遍历,边删除的方法,却报了以下异常:
ConcurrentModificationException
为了以后不忘记,使用烂笔头把它记录如下:
错误代码的写法,也就是报出上面异常的写法:
Set set = this.getUserDao().getAll(qf).get(0).getActionCheckWorks();
for(CheckWork checkWork : set){
if(checkWork.getState()==1){
set.remove(checkWork);
}
}
注意:使用上面的写法就会报上面的ConcurrenModificationException异常,原因是,集合不可以一边遍历一边删除。
正确的写法如下:
1. 遍历删除List
List list = this.getUserDao().getAll();
Iterator chk_it = list.iterator();
while(chk_it.hasNext()){
CheckWork checkWork = chk_it.next();
if(checkWork.getPlanState()==1){
chk_it.remove();
}
}
2. 遍历删除Set
Set set = this.getUserDao().getAll().get(0).getActionCheckWorks();
Iterator it = set.iterator();
while(it.hasNext()){
CheckWork checkWork = it.next();
if(checkWork.getState()==1){
it.remove();
}
}
文章浏览阅读5k次,点赞8次,收藏22次。微信小程序逆向;微信小程序逆向分析;实战逆向入门_微信小程序逆向
文章浏览阅读931次。安装mysql-python库过程安装过程中可能会遇到两个问题 EnvironmentError: mysql_config not found以及 cannot find /usr/lib64/libatomic.so.1.0.0安装mysql-python库的方法如下pip install mysql-python网上搜解决方法,需要安装 mysql-devel如果也无法安装..._cannot find /lib64/libmvec.so.1
文章浏览阅读631次。计算机组成原理(第3版)唐朔飞著 知识点总结 第十章 控制单元的设计第十章 控制单元的设计其他章内容在这里汇总链接第十章 控制单元的设计组合逻辑设计:硬件、快微程序设计:软件微指令的基本格式:(1)操作控制字段(2)顺序控制字段:可指出下地址微指令的编码方式:(1)直接编码方式(2)字段直接编码方式(3)字段间接编码方式(4)混合编码(5)其他…2种微指令格式(1)水平型微指令:简单(2)垂直型微指令:复杂 毫微程序看作是解释微程序的动态微程序设计和静态微程序设_计算机组成原理(第3版)唐朔飞
文章浏览阅读988次,点赞2次,收藏6次。计网_计网报文传输多少次会被丢弃
文章浏览阅读608次。学校算法栅格地图机器人路径规划完整的代码,方可运行;可提供运行操作视频!适合小白!_matlab路径规划
文章浏览阅读512次。报错:[Err] 1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘USING BTREE,KEY `Email` (`Email`) USING BTREE分析问题..._mysql 1064 use near using btree
文章浏览阅读1.3k次。sudo -imv /etc/apt/sources.list /etc/apt/sources.list_bak1vim /etc/apt/sources.list写入## Uncomment the following two lines to fetch updated software from the networkdeb http://old-releases.ubuntu.com/ubuntu lucid main restricteddeb-src http://old-rel_e: package 'flex' has no installation candidate
文章浏览阅读1.7k次。顾名思义,Web Server 就是提供 Web 服务的 Server。比如我们访问 http://,其实就是在使用百度的 Server 提供的服务。一般来说, Web Server 对外提供的是 HTTP 服务(也可以是其他服务),这就是为什么我们的网址都以「http://」开头。_web服务器
文章浏览阅读1.1w次,点赞4次,收藏9次。Android Seekbar的onProgressChanged监听回调之fromUser参数解析(源码层次)在Android开发中,Seekbar是我们高频率使用的几个控件之一,不管是使用原生系统的样式,还是根据各种五花八门的需求来定制自己项目中的SeekBar(在这里吐槽下项目经理),相信大家都做过,那么闲话不说进入正题。 SeekBar的继承关系为: 有些相对比较麻烦的需求要重写Se_onprogresschanged
文章浏览阅读4.6k次。Matlab提供了现成的函数,可以快速实现二值图像的闭合区域标记,这里介绍三种常见情形。_matlab二值图像闭合区域外接线段判断
文章浏览阅读9.4k次,点赞3次,收藏13次。https://www.cnblogs.com/landeanfen/p/7457283.html一、组件开源地址以及API说明bootstrap-select开源地址:https://github.com/silviomoreto/bootstrap-selectbootstrap-select使用示例:http://silviomoreto.github.io/bootstrap-..._bootstrap 下拉框多选
文章浏览阅读1.1k次。双屏显示器是目前很多朋友组建显示器的方案,相比单个显示器来说,双屏显示器可以呈现更多的内容,进而带来工作效率或者视觉体验的大幅提升,相信凡是用过双屏显示器的朋友都会有所感触。尽管双屏显示器有着诸多好处,但是如果双屏显示器选择、搭配不当反而会适得其反,带来不必要的麻烦,比如下面这几个问题:1、色彩差异突出双屏显示器无法保证色彩统一多屏显示器拼接时首当其冲的就是色差问题,即使是同型号的显示器,也会因为..._linux x-display 多屏