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


相关推荐
WooaiJava3 分钟前
流式TTS音频播放项目 - 面试问答(后端)
java·开发语言
奥升新能源平台4 分钟前
奥升充电|充电站用户分层分析与精细化运营策略研究
java·大数据·能源
新缸中之脑12 分钟前
开发AI代理必备的8个Python 库
开发语言·人工智能·python
暴走十八步15 分钟前
PHP+vscode开启调试debug
开发语言·vscode·php
梵得儿SHI17 分钟前
(第十篇)Spring AI 核心技术攻坚全梳理:企业级能力矩阵 + 四大技术栈攻坚 + 性能优化 Checklist + 实战项目预告
java·人工智能·spring·rag·企业级ai应用·springai技术体系·多模态和安全防护
一路向北⁢17 分钟前
Spring Boot 3 整合 SSE (Server-Sent Events) 企业级最佳实践(三)
java·spring boot·后端·sse
郝学胜-神的一滴18 分钟前
Python 列表 vs 数组:深入解析与最佳选择指南
开发语言·python·程序人生
杜子不疼.19 分钟前
基于ATVC模板库的Ascend C Vector算子快速开发指南
c语言·开发语言·mfc
MSTcheng.21 分钟前
【C++】C++11新特性(三)
开发语言·c++·c++11
learning-striving22 分钟前
kali连不上网解决方法
linux·开发语言·网络·php·kali