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


相关推荐
伍一5112 小时前
星云ERP免编译安装包分享,可直接运行,附完整程序包下载地址
java
逆境不可逃12 小时前
LeetCode 热题 100 之 279. 完全平方数 322. 零钱兑换 139. 单词拆分 300. 最长递增子序列
java·算法·leetcode·职场和发展
shamalee12 小时前
Spring Security 新版本配置
java·后端·spring
不光头强12 小时前
Java中的异常
java·开发语言
毕设源码-赖学姐12 小时前
【开题答辩全过程】以 高校资源共享平台的设计与实现 为例,包含答辩的问题和答案
java
Coding茶水间12 小时前
基于深度学习的管道缺陷检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
开发语言·人工智能·深度学习·yolo·机器学习
shamalee12 小时前
MS SQL Server partition by 函数实战二 编排考场人员
java·服务器·开发语言
aisifang0012 小时前
MS SQL Server partition by 函数实战三 成绩排名
java
listhi52012 小时前
基于MATLAB的汽车电动助力转向系统(EPS)转向特性分析
开发语言·matlab·汽车
C++chaofan12 小时前
JUC 并发编程:对可见性、有序性与 volatile的理解
java·开发语言·spring·java-ee·juc·synchronized·