Java 迭代器速查手册
首页
›
Java手册
›
Java 迭代器
› 遍历中删除
Java
迭代器
:remove()安全删
唯一正确姿势。
图 5:Java 迭代器:remove()安全删(1080×1440 速查卡片)
🗑️遍历时删除元素
需求:删除集合中所有小于 10 的元素。
正确做法是用迭代器自身的 remove(),
而不是集合的 remove()。
RemoveDemo.java
ArrayList numbers = new ArrayList<>();
numbers.add(12);
numbers.add(8);
numbers.add(2);
numbers.add(23);
Iterator it = numbers.iterator();
while (it.hasNext()) {
Integer i = it.next();
if (i < 10) {
it.remove(); // 用迭代器删除
}
}
System.out.println(numbers); // [12, 23]
🧠为什么必须用迭代器的 remove
迭代器内部维护修改次数的期望值。
直接调集合的 remove 会让这个值对不上,
迭代器下次操作时立刻发现并抛异常。
2. 总览
3. 获取迭代器
4. 三大方法
6. ListIterator
7. 并发修改异常
8. 三大方法
9. 获取迭代器
10. 并发修改异常
11. 总结
← 上一篇
三大方法
下一篇 →
ListIterator
Java Applet
Java 常用类库
Java 9 新特性
Java MySQL 连接
Java 8 新特性
Java 实例
Java 文档注释
Java 多线程
Java 发送邮件
Java 网络编程
Java 序列化
Java 泛型
Java NIO Files
Java Object 类
Java HashMap
Java HashSet
Java LinkedList
Java ArrayList
Java 集合框架
Java 数据结构
Java 封装
Java 接口
Java 枚举
Java 包
Java 反射
Java 抽象类
Java 多态
Java 重写与重载
Java 继承
Java 异常处理
Java StringBuffer
Java String
Java Character
Java Number & Math
Java 正则表达式
Java 日期时间
Java 数组
Java 方法
Java 流与文件IO
Java Scanner 类
Java 构造方法
Java 条件语句
Java 循环结构
Java switch case
Java 运算符
Java 修饰符
Java 变量命名规则
Java 变量类型
Java 基本数据类型
Java 对象和类
Java 注释
Java 基础语法