java循环中 删除List某个元素

article/2025/10/13 14:13:35

场景:list中 0 至 9 的数字,删除list中的数字7

        1.集合生成0 至 9 数字

代码:

List<Integer> list = new ArrayList<>();
for (int i = 0; i < 10 ; i++) {list.add(i);
}
System.out.println(list.toString());

         运行如下:

        2.用迭代器Iterator循环list并删除对应的元素

代码:

Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()) {Integer next = iterator.next();if (next == 7) {iterator.remove();}
}

         运行如下:

 这样就可以删除list中某些元素了!

         扩展: for循环中存在的问题:

     一、for循环中删除元素,会导致漏删除。因为每删除1个元素,list的大小就会减少1。就有可能导致后面需要被删除的元素没有删除。

如:一个list只有元素7,删除所有的元素7

        代码:

List<Integer> list = new ArrayList<>();
for (int i = 0; i < 10 ; i++) {list.add(7);
}
System.out.println(list.toString());
for (int i = 0; i < list.size() ; i++) {if (list.get(i) == 7) {list.remove(i);}
}
System.out.println(list.toString());

         运行结果:目的需要删除所有为7的元素,但没有全部删除。

     二、增强for循环中删除元素,若继续循环,会报错java.util.ConcurrentModificationException(并发修改异常)。 

 如:一个list只有元素7,删除所有的元素7

        代码:

List<Integer> list = new ArrayList<>();
for (int i = 0; i < 10 ; i++) {list.add(7);
}
System.out.println(list.toString());
for (Integer num : list) {if (num == 7) {list.remove(num);}
}
System.out.println(list.toString());

         运行结果:

         若不继续循环,跳出循环会怎么样呢?

        代码:  

List<Integer> list = new ArrayList<>();
for (int i = 0; i < 10 ; i++) {list.add(7);
}
System.out.println(list.toString());
for (Integer num : list) {if (num == 7) {list.remove(num);break;}
}
System.out.println(list.toString());

 运行结果:

 并没有报错,但只删除了一个。一般这样用的比较少!!!

         

                

                  


http://chatgpt.dhexx.cn/article/QLtXXlXH.shtml

相关文章

java 循环标记_Java循环中使用标签

java中的标号是用于的continue和break语句的&#xff0c;请看下面的程序&#xff1a; class xxx { outer: for(;;) { inner: for(;;) { xxxx; xxxxx; continue inner; } //break inner; break outer; } } 这段程序中有两层循环&#xff0c;外面的一层叫outer&#xff0c;里面的…

java中的循环语句

有些程序段在某些条件下重复执行多次&#xff0c;称为循环结构程序。Java提供了3种循环语句实现循环结构&#xff0c;包括while语句、do-while语句、for语句。它们的共同点是根据给定条件来判断是否继续执行指定的程序段&#xff08;循环体&#xff09;。如果满足执行条件&…

java中的循环

java中的循环有四种 循环由四部分组成 1.初始部分&#xff1a;循环判断的变量 2.循环条件&#xff1a;布尔表达式 3.循环操作&#xff1a;循环执行的代码 4.迭代部分&#xff1a;更新循环变量 1.while循环 while的特点&#xff1a;首次判断不满足&#xff0c;则一次都不会执…

安装破解VS2015(破解使用秘钥)

一、下载VS2015专业版 http://download.microsoft.com/download/B/8/9/B898E46E-CBAE-4045-A8E2-2D33DD36F3C4/vs2015.pro_chs.iso 注&#xff1a;光盘映像文件直接右键解压即可 二&#xff0c;使用秘钥破解 安装完vs2015 企业版/专业版后&#xff0c;在菜单帮助—注册产品&am…

VS2015社区版安装教程

虽然现在已经有了VS2017,但是在很多地方还是vs2015更加方便&#xff0c;比如&#xff0c;目前的wdk版本并不能支持VS2017,所以我不得不卸了它&#xff0c;换成Vs2015. 1.下载Vs2015 微软官网一般可以找到资源&#xff0c;我这里给出我的百度云链接链接&#xff1a;https://pan.…

Visual Studio专业版下载安装激活破解教程

Visual Studio 2015专业版安装激活破解教程 一、下载安装镜像 下载地址&#xff1a;http://msdn.itellyou.cn/ 二、安装 运行虚拟光驱&#xff0c;加载镜像文件&#xff0c;运行安装程序 剩下的就是漫长的等待了&#xff0c;安装程序好像需要从微软的服务器上获取文件&#…

VS2017 Visual Assist X破解方法

Visual Assist X是一款非常好的Microsoft Visual Studio插件&#xff0c;支持C/C&#xff0b;&#xff0b;&#xff0c;C&#xff03;&#xff0c;ASP&#xff0c;Visual Basic&#xff0c;Java和HTML等语言&#xff0c;Visual Assist X能自动识别各种关键字、系统函数、成员变…

VisualSvn破解(VS2019)

第一步&#xff1a;准备工具dnSpy &#xff08;下载地址&#xff1a;http://www.pc6.com/softview/SoftView_481260.html&#xff09; 第二步&#xff1a;查找VisualSun安装目录&#xff0c;以下地址为我的安装目录&#xff0c;供参考 说明&#xff1a;我记得以前的VisualSvn…

VS2013/VS2017 Visual Assist X安装及破解

本篇博客参照&#xff1a; https://blog.csdn.net/e295166319/article/details/80803937 1.下载VAX以及破解软件 下载链接&#xff1a; VAX下载 2.解压 3.如果之前安装了其他版本的VAX&#xff0c;请先卸载&#xff0c;卸载方法&#xff1a;打开VS-》工具-》扩展和更新&…

Visual Studio 2015专业版安装激活图文教程

一、下载安装镜像 下载地址&#xff1a;http://msdn.itellyou.cn/ &#xff08;微软的东东在这里下方便快速&#xff09; 本人下载的是专业版。 二、安装 Windows 8.1系统双击下载好的ISO文件会自动虚拟光驱。 双击运行文件。 想体验新版的更多功能&#xff0c;这里选择【自定…

VS2013安装及破解教程

https://blog.csdn.net/qq_33742119/article/details/80075352 软件下载的百度云链接&#xff0c;也可以在官网直接下载 链接&#xff1a;https://pan.baidu.com/s/18SB8ei7XqjoeKqxHYol4lQ 密码&#xff1a;sla6 Step1&#xff1a;点击印象光盘之后点击vs_ultimate Step2&…

VS2015 VisualSVN的 破解方法

第一步&#xff0c;首先准备反汇编工具 ildasm.exe,找到VisualSVN的安装路径&#xff0c;一般先备份&#xff0c;在备份里面操作。 第二步&#xff0c;转储 &#xff0c; 得到同名的il文件&#xff1a;VisualSVN.Core.L.il&#xff0c;用记事本打开得到的 VisualSVN.Core.L.il …

vs2015破解

vs2015 企业版、专业版如何破解&#xff08;秘钥&#xff09; 一、破解秘钥 企业版 HM6NR-QXX7C-DFW2Y-8B82K-WTYJV 专业版 HMGNV-WCYXV-X7G9W-YCX63-B98R2 二、破解步骤 1、安装vs2015 2、打开菜单栏&#xff0c;找到 帮助---注册产品 3、打开注册产品菜单&#x…

VisualSVN 破解方法

第一步&#xff0c;首先准备反汇编工具 ildasm.exe,找到VisualSVN的安装路径&#xff0c;一般先备份&#xff0c;在备份里面操作。 第二步&#xff0c;转储 &#xff0c; 得到同名的il文件&#xff1a;VisualSVN.Core.L.il&#xff0c;用记事本打开得到的 VisualSVN.Core.L.il …

kjb文件 解析_Python 之父再发文:构建一个 PEG 解析器

花下猫语&#xff1a; Python 之父在 Medium 上开了博客&#xff0c;现在写了两篇文章&#xff0c;本文是第二篇的译文。前一篇的译文 在此 &#xff0c;宣布了将要用 PEG 解析器来替换当前的 pgen 解析器。 本文主要介绍了构建一个 PEG 解析器的大体思路&#xff0c;并介绍了一…

Kettle【实践 03】水经微图kml类型文件分类解析入库难点细节说明(完整流程实例云资源分享:包含sql+kjb+ktr+测试文件)

资源链接在文章末尾,包含文件: 1.需求说明 一个与行政区划边界数据相关的应用,行政区划数据从水经微图下载而来格式为kml,需要把这些数据导入到数据库 GreenPlum,并规范数据格式。源数据包含两类: _xx名称.txt(区域名称和中心点坐标)_xx边界.txt(区域名称和区域边界…

kjb文件 解析_十四期全国BIM一级考试真题及解析

十四期全国BIM一级考试已落下帷幕 积一时之跬步&#xff0c;臻千里之遥程。 挑灯夜战数日有余 付出是否有收获&#xff1f; 让我们一起来检验检验~ 安特筑信(Ancestor)快马加鞭 收集并整理出 十四期全国BIM一级考试真题及解析 召集你的小伙伴一起来看看吧&#xff01; Part.1 图…

kjb文件 解析_在Linux上使用lnav监控和分析Apache日志文件工具

请关注本头条号&#xff0c;每天坚持更新原创干货技术文章。 如需学习视频&#xff0c;请在微信搜索公众号“智传网优”直接开始自助视频学习 1. 前言 本文主要讲解如何在Linux上使用lnav监控和分析Apache日志文件&#xff0c; 在本文中&#xff0c;我们将解释如何安装和使用ln…

Kettle【实践 02】txt类型文件分类导入后执行SQL进行数据类型转换并入库(完整流程实例云资源分享:包含sql+kjb+ktr+测试文件)

资源链接在文章末尾,包含文件: 1.需求说明 一个与行政区划边界数据相关的应用,行政区划数据从水经微图下载而来,需要把这些数据导入到数据库 GreenPlum,并规范数据格式。源数据包含两类: 区域_点.txt(区域名称和中心点坐标)区域_面.txt(区域名称和区域边界点坐标)…

kjb文件 解析_批量修改MP3文件信息

前两天本人在整理自己的歌单时&#xff08;题外话&#xff0c;本人是一个热衷音乐的程序员噢&#xff0c;哈哈&#xff09;&#xff0c;发现之前下载的很多MP3文件里的歌手&#xff0c;标题等信息对不上&#xff0c;很多都是错的。对于患有“强迫症”的本人来说&#xff0c;当然…