java中如何迭代
迭代方法概述
Java中迭代集合或数组的常见方法包括传统for循环、增强for循环、迭代器(Iterator)以及Java 8引入的Stream API。每种方法适用于不同场景,选择取决于具体需求。
传统for循环
使用索引进行迭代,适用于需要精确控制迭代过程或需要访问当前索引的场景:
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
增强for循环(foreach循环)
语法简洁,适用于不需要修改集合元素或访问索引的场景:
for (String item : list) {
System.out.println(item);
}
迭代器(Iterator)
提供安全的遍历方式,支持在迭代过程中移除元素:

Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String item = iterator.next();
if (item.equals("remove")) {
iterator.remove();
}
}
ListIterator
针对List的增强迭代器,支持双向遍历和修改操作:
ListIterator<String> listIterator = list.listIterator();
while (listIterator.hasNext()) {
String item = listIterator.next();
listIterator.set("modified_" + item);
}
Java 8 Stream API
支持函数式编程风格的链式操作,适合复杂数据处理:
list.stream()
.filter(item -> item.startsWith("A"))
.map(String::toUpperCase)
.forEach(System.out::println);
并行流迭代
利用多核处理器加速大规模数据处理:

list.parallelStream()
.forEach(item -> process(item));
数组专用方法
针对数组的特殊处理方式:
Arrays.stream(array).forEach(System.out::println);
枚举类型迭代
遍历枚举常量的标准方法:
for (DayOfWeek day : DayOfWeek.values()) {
System.out.println(day);
}
Map集合迭代
针对键值对集合的特殊迭代方式:
map.forEach((key, value) ->
System.out.println(key + ":" + value));
选择建议
- 需要修改集合时使用Iterator
- 简单遍历使用增强for循环
- 复杂数据处理使用Stream API
- 并行处理考虑parallelStream
- 需要索引时使用传统for循环
每种方法都有其适用场景,根据具体需求选择最合适的迭代方式能提高代码效率和可读性。






