java ArrayList 在循环中删除元素,
可以在foreach中使用嘛 ---- 不行
在 Java 中,使用增强型 for-each 循环(也称为 foreach 循环)时,不能直接在循环中使用 remove 方法来移除元素。这是因为 foreach 循环遍历集合时使用的是其内部的迭代器,而调用 remove 方法会破坏迭代器的状态。
如果你想要在 foreach 循环中移除元素,可以使用迭代器的 remove 方法或使用一个临时的集合来保存需要移除的元素,然后在循环结束后统一移除这些元素。
以下是两种在 foreach 循环中移除元素的示例代码:
import java.util.ArrayList;
import java.util.Iterator;
public class Main {
public static void main(String[] args) {
// 创建一个包含整数的 ArrayList
ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
// 使用迭代器遍历并移除对象
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()) {
Integer num = iterator.next();
if (num == 2) {
iterator.remove();
}
}
// 打印移除对象后的 ArrayList
for (Integer num : list) {
System.out.println(num);
}
}
}
相信坚持的力量,日复一日的习惯.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)