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


相关推荐
Freak嵌入式4 小时前
RP2040 PIO 编程模型与状态机原理:从硬件架构到工作逻辑全解析
java·大数据·开发语言·单片机·嵌入式硬件·硬件架构
kakawzw4 小时前
Netty源码笔记
java·服务器·后端
zhuodedao4 小时前
Spring AI + MCP 文件工具未调用问题复盘:为什么初始化成功却没有写入文件?
java·debug·agent·springai·mcp
Java小白笔记4 小时前
Java中大数据实时归集与指标汇总方案
java·大数据·开发语言
随遇而安zx4 小时前
【地基篇】---Java 8 JVM 知识大纲
java·开发语言·jvm
雾隐隐o4 小时前
Docker 镜像归档与容器管理
java·docker·eureka
Meta394 小时前
Java八股文之Spring Boot 中解决 MySQL 和 Elasticsearch (ES) 的数据一致性问题
java·spring boot·mysql
软件黑马王子4 小时前
4.单例模式问题2:重复挂载
开发语言·单例模式·c#
quantdash_cc4 小时前
批量请求和循环请求有什么区别?从 API 请求次数看量化数据获取的工程设计
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
SimonKing5 小时前
GenOffice上手指南:免费替代Word+PPT+Excel的AI办公神器
java·后端·程序员