java 如何遍历list
遍历 List 的常见方法
使用 for 循环 通过索引遍历 List,适用于需要操作索引的场景。
List<String> list = Arrays.asList("A", "B", "C");
for (int i = 0; i < list.size(); i++) {
String element = list.get(i);
System.out.println(element);
}
增强 for 循环(for-each) 简洁高效,适用于不需要索引的遍历。

List<String> list = Arrays.asList("A", "B", "C");
for (String element : list) {
System.out.println(element);
}
使用 Iterator
支持在遍历时通过 remove() 安全删除元素。
List<String> list = new ArrayList<>(Arrays.asList("A", "B", "C"));
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String element = iterator.next();
System.out.println(element);
}
使用 ListIterator 双向遍历,支持在遍历时修改或添加元素。

List<String> list = new ArrayList<>(Arrays.asList("A", "B", "C"));
ListIterator<String> listIterator = list.listIterator();
while (listIterator.hasNext()) {
String element = listIterator.next();
System.out.println(element);
}
使用 Java 8 forEach + Lambda 函数式编程风格,代码简洁。
List<String> list = Arrays.asList("A", "B", "C");
list.forEach(element -> System.out.println(element));
使用 Stream API 适用于需要过滤、映射等操作的场景。
List<String> list = Arrays.asList("A", "B", "C");
list.stream().forEach(System.out::println);
注意事项
- 并发修改:直接使用 for 循环或 for-each 遍历时调用
List.remove()会抛出ConcurrentModificationException,应使用Iterator.remove()。 - 性能差异:大数据量下,Stream API 可能因并行处理更快,但小数据量时传统循环更高效。
- 不可变 List:
Arrays.asList()生成的 List 不可修改,需转换为可变集合(如new ArrayList<>())才能增删元素。






