Java 中 List 删除元素

fori循环

删除某个元素后,list的大小发生了变化,会导致遍历准确。

这种方式可以用在删除特定的一个元素时使用,但不适合循环删除多个元素时使用

增强for循环

删除元素后继续循环会报错误信息ConcurrentModificationException,但是删除完毕马上使用break跳出,则不会触发报错。

iterator 迭代器

iterator遍历过程中可以正常删除元素。但需要使用iterator.remove方法,如果使用list.remove方法同样会报ConcurrentModificationException

java 复制代码
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()) {
	Integer a = (Integer) iterator.next();
	iterator.remove();
}

总结
1、删除list中特定的一个元素时,以上三种方式均都可以。
2、删除list中多个元素时,应该使用迭代器iterator方式。


相关推荐
编程(变成)小辣鸡4 分钟前
JVM、JRE和JDK 的关系
java·开发语言·jvm
lbb 小魔仙16 分钟前
【Java】Spring Cloud 微服务系统搭建:核心组件 + 实战项目,一步到位
java·spring cloud·微服务
a程序小傲24 分钟前
得物Java面试被问:流批一体架构的实现和状态管理
java·开发语言·数据库·redis·缓存·面试·架构
xb113224 分钟前
C#异步编程入门概念及核心概念
开发语言·c#
黎雁·泠崖28 分钟前
Java继承:成员变量访问(就近原则+this/super用法)
java·开发语言
别或许40 分钟前
python中的异步调用(直接使用教程)
java·前端·python
ShineWinsu42 分钟前
对于C++:模版初阶的解析
开发语言·c++·面试·笔试·函数··模版
CodeAmaz1 小时前
文件断点续传完整方案
java·文件断点上传
Max_uuc1 小时前
【C++ 硬核】告别 Excel 生成数组:利用 constexpr 实现编译期计算查找表 (LUT)
开发语言·c++·excel
像少年啦飞驰点、1 小时前
零基础入门 Spring Boot:从‘Hello World’到可部署微服务的完整学习路径
java·spring boot·web开发·编程入门·后端教程