如何迭代Java
迭代的概念
迭代是遍历集合或数组元素的一种方式,Java提供了多种迭代方法,包括传统的for循环、增强型for循环、迭代器(Iterator)以及Java 8引入的流(Stream)API。
传统for循环
使用索引遍历数组或列表,适用于需要索引的场景:
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
增强型for循环
语法简洁,适用于遍历集合或数组元素,但无法直接获取索引:

for (String item : list) {
System.out.println(item);
}
使用Iterator
通过迭代器遍历集合,支持在遍历时安全删除元素:
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String item = iterator.next();
if (condition) {
iterator.remove(); // 安全删除
}
}
ListIterator
双向迭代器,支持向前或向后遍历,以及修改元素:

ListIterator<String> listIterator = list.listIterator();
while (listIterator.hasNext()) {
String item = listIterator.next();
listIterator.set("new_" + item); // 修改元素
}
Java 8 Stream API
通过流式操作实现函数式迭代,支持过滤、映射等操作:
list.stream()
.filter(item -> item.startsWith("A"))
.forEach(System.out::println);
并行流迭代
利用多核处理器加速大规模数据遍历:
list.parallelStream()
.forEach(item -> process(item));
注意事项
- 使用
Iterator时,直接调用集合的remove()方法会抛出ConcurrentModificationException,必须通过迭代器删除。 - 增强型
for循环底层依赖迭代器,修改集合可能导致异常。 - 流式迭代适合链式操作,但会创建中间对象,可能影响性能。






