java集合怎么遍历删除_java中循环遍历删除List和Set集合中元素的方法-程序员宅基地

技术标签: 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();

}

}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_29888579/article/details/114594256

智能推荐

Qt5 的connect新语法中 lambda表达式的引用传递问题_lambda qt connect 传参-程序员宅基地

文章浏览阅读1.7k次。介绍 Qt5 的 connect 新式语法的文章很多,关于其使用 lambda 表达式的语法也很容易搜到,今天我来一点不一样的干货也可以说是bug,由于个人能力原因,无法深究真正的原因,望神通广大的网友能告知一下,不尽感激。/* * 使用Qt 5.15.0 创建一个新的GUI程序,基类选择QWidget * 同时取消创建 ui界面,在 widget.cpp 中写上下面的代码 * 然后编译执行,在弹出的窗口中,点击QPushButton即可验证*/#include "widget.h"#incl_lambda qt connect 传参

【转】GitLab 7.2.1 升级到 7.14.3 过程中遇到的坑_gitlab gc-程序员宅基地

文章浏览阅读281次。转自:http://dockone.io/article/8413GitLab 7.2.1 升级到 7.14.3 过程中遇到的坑【背景】在此次升级之前,我们线上的 GitLab 7.2.1 版本已经跑了3年之久,其中结合我们自己的 CI/CD 流程添加了一些自定义的 feature,整个 CI/CD 流程运行的也十分顺畅。不过随着微服务、Docker、Kubernetes、Servic..._gitlab gc

mysql expdp gtid_ORACLE 12C可以通过expdp导出view数据-程序员宅基地

文章浏览阅读315次。有时候,多么的希望ORACLE能够导出某个视图中的数据,然后通过这个视图来迁移需要的数据,现在ORACLE 12C通过expdp的views_as_tables来实现了该功能,把视图当作一个普通表从而导出数据,导入的时候直接和一个正常表一样,通过视图的导出,表的导入来实现相关需求准备测试环境SQL> SELECT * FROM V$VERSION;BANNER ..._oracle expdp导出数据视图

51nod 1450 闯关游戏_51nod1450闯关游戏-程序员宅基地

文章浏览阅读694次。期望DP+思路_51nod1450闯关游戏

java计算机毕业设计高校防疫物资管理系统MyBatis+系统+LW文档+源码+调试部署-程序员宅基地

文章浏览阅读660次。java计算机毕业设计高校防疫物资管理系统MyBatis+系统+LW文档+源码+调试部署。springboot基于微服务架构的图书借阅系统的设计与实现。ssm基于大数据在线考试系统在线阅卷系统及大数据统计分析。jsp网上花卉销售系统的设计与实现sqlserver。springboot基于VUE的个人记账管理系统。ssm基于SSM的线上家庭医生系统的设计与实现。ssm基于vue的健康餐饮管理系统的设计与实现。ssm疫情背景下基于web的学生信息日报系统。ssm基于用户行为的自动化书籍推荐系统。

解决PYTHON爬取:RESPONSE.STATUS_CODE为418、403 问题_python r.status_code 403-程序员宅基地

文章浏览阅读4k次,点赞4次,收藏15次。问题1:初步解决响应状态418python爬取豆瓣网站电影:url = ‘https://movie.douban.com/?start=0&filter=’import requestsurl = 'https://movie.douban.com/top250?start=0&filter='res =requests.get(url)print(res.status_code)响应状态:418正常返回状态应该是 200问题解决参考链接: req_python r.status_code 403

随便推点

我的心得:数据中心运维&管理(二)-程序员宅基地

文章浏览阅读2.9k次。续接:《我的心得:数据中心运维&管理(一)》5:追其根源,防患未然:5Why 分析法在数据中心的应用;如何有效的解决问题,首先需要了解产生此问题的因素和最根本因素;如何寻找根本原因?需要更加有效合理的工具方法,下面给大家介绍一下典型的 5-Why 分析法:什么是 5-Why5-why 的关键在于鼓励解决问题的人要努力避开主观或自负的假设和逻辑陷阱,从结果着手,沿着因果关系链条,顺藤摸瓜,直至找出原_数据中心运维汇报案例

粒子群优化算法(PSO)-程序员宅基地

文章浏览阅读1.9w次,点赞34次,收藏307次。先简单介绍一下粒子群优化算法(Particle Swarm Optimization),后边会介绍一些改进的粒子群算法。1.背景知识受到鸟群觅食行为的启发(鸟群觅食,通过信息共享使种群找到最优的觅食点),由社会心理学家JamesKennedy和电气工程师RussellEberhart于1995年提出,用于解决科学工程领域的非线性,非凸性,组合优化问题;在函数优化,图像处理也有广泛的应用。粒子群优化算法是一种基于数值的优化算法,粒子群优化算法的基础是“信息共享”。具..._粒子群优化算法

刷了LeetCode的链表专题,我发现了一个秘密!!!_leetcode 刷题的链表带不带头结点-程序员宅基地

文章浏览阅读228次,点赞2次,收藏4次。刷了LeetCode的链表专题,我发现了一个秘密!文章目录刷了LeetCode的链表专题,我发现了一个秘密!引言1、链表的几个概念讲解1.1链表中的的指针是什么1.1指针指向哪儿1.3判断边界的条件2、必须掌握的几类题目2.1单链表反转(LeetCode206)2.2链表中环的检测(LeetCode141)2.3两个有序的链表合并(LeetCode21)2.4删除链表(LeetCode18)2.5删除链表倒数第 n 个结点(LeetCode19)2.6求链表的中间结点(LeetCode876)3、学习链表_leetcode 刷题的链表带不带头结点

android studio的安装(补充篇gradle失败的问题更新于 2021-03-10)-程序员宅基地

文章浏览阅读10w+次,点赞199次,收藏864次。本来没有打算写这篇文章的但是很多人看完我的上篇文章之后有所需求特此写下此文附上上篇android studio的安装,史上最详细(超多图)!!先说明原因:gradle资源包是通过android studio 远程访问安卓的gradle仓库进行下载的难免会出现网络不佳,以及被墙的情况(并不是所有人都会遇到)开始正文:1.现象说明gradle失败会显示这个界面2.首先确认自己的g..._补充篇gradle失败的问题

对`__stack_chk_fail`未定义的引用 解决手段?_对‘--stack-chk-fail“未定义的引用-程序员宅基地

文章浏览阅读6.4k次。init/built-in.o: In function `try_name':do_mounts.c.text+0x5e3):对‘__stack_chk_fail’未定义的引用init/built-in.o: In function `name_to_dev_t':(.text+0x8cb):对‘__stack_chk_fail’未定义的引用init/built-in.o: In_对‘--stack-chk-fail“未定义的引用

探索 `pianotrans`:一款创新的钢琴曲谱转换工具-程序员宅基地

文章浏览阅读313次,点赞5次,收藏6次。探索 pianotrans:一款创新的钢琴曲谱转换工具项目地址:https://gitcode.com/azuwis/pianotrans在音乐创作与学习的世界里,拥有一款能够准确、高效地处理乐谱的工具是至关重要的。今天,我们有幸向大家推荐一个开源项目——azuwis/pianotrans。这是一个基于Python编写的钢琴曲谱自动转换器,它可以帮助用户将各种格式的乐谱文件转化为方便演奏和学习...

推荐文章

热门文章

相关标签