java 如何遍历list
遍历 List 的常用方法
使用 for 循环 通过索引遍历 List,适用于需要索引的场景。
List<String> list = Arrays.asList("A", "B", "C");
for (int i = 0; i < list.size(); i++) {
String item = list.get(i);
System.out.println(item);
}
增强 for 循环 语法简洁,适用于不需要索引的遍历。
for (String item : list) {
System.out.println(item);
}
使用 Iterator
支持在遍历时通过 iterator.remove() 安全删除元素。
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String item = iterator.next();
System.out.println(item);
}
使用 ListIterator 双向遍历,可获取元素索引,支持修改操作。
ListIterator<String> listIterator = list.listIterator();
while (listIterator.hasNext()) {
String item = listIterator.next();
System.out.println(item + " at index " + listIterator.previousIndex());
}
Java 8+ Stream API 函数式风格,支持链式操作(如过滤、映射等)。
list.stream().forEach(item -> System.out.println(item));
// 或方法引用
list.forEach(System.out::println);
注意事项
- 在迭代过程中修改非线程安全 List(如
ArrayList)可能导致ConcurrentModificationException。 - 需要删除元素时,优先使用
Iterator的remove()方法。 - 大数据量遍历时,
Stream的并行流(parallelStream())可提升性能。







