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方式。


相关推荐
CodeStride6 分钟前
就像长跑配速一样,我是如何平衡代码性能与可读性的
java
旋律翼212 分钟前
Qt Bridges for C# 深度技术解析
开发语言·qt·c#
弹简特18 分钟前
【Java项目-企悦抽】07-用户与认证模块-实现用户注册01
java·开发语言
L歪歪君18 分钟前
Apache Doris全链路性能优化实战指南:从架构设计到生产落地
java·开发语言·算法
山东点狮信息科技有限公司35 分钟前
SpringBoot+VUE3,一套系统完成OA+HRM+CRM+MES+合同+项目管理 —— 深度解析点狮全业务管理平台
java·spring boot·后端
你怎么知道我是队长42 分钟前
JavaScript 的控制语句介绍
开发语言·javascript·ecmascript
RSTJ_16251 小时前
PYTHON+AI LLM DAY ONE HUNDRED AND THREE
开发语言·人工智能·python
snow@li1 小时前
Java:Java 服务器(Web 容器 / Servlet 容器)完整工作清单
java·服务器·前端
青山木2 小时前
Hot 100 --- 二叉树与递归
java·数据结构·算法·leetcode·深度优先
charlie1145141912 小时前
RK3506B: buildroot:出一份正规的最小 rootfs
开发语言·嵌入式·开源项目·rk3506b