增强for循环适合大多数场景,语法简洁;2. Iterator支持安全删除元素;3. 普通for循环可获取索引;4. Lambda表达式代码更简洁。推荐优先使用增强for或foreach,删除时用Iterator。

在Java中遍历List集合的元素有多种方式,选择合适的方法取决于具体需求和Java版本。以下是几种常用且有效的遍历方式:
1. 使用增强for循环(foreach)
这是最常见、最简洁的遍历方式,适合大多数场景。
- 代码可读性强,语法简单
- 不需要手动管理索引或迭代器
示例:
List<String> list = Arrays.asList("A", "B", "C"); for (String item : list) { System.out.println(item); }
2. 使用Iterator遍历
适用于需要在遍历过程中删除元素的场景,因为直接使用remove()方法更安全。
立即学习“Java免费学习笔记(深入)”;
- 可以调用iterator.remove()安全删除元素
- 适合边遍历边条件性删除的情况
示例:
Iterator<String> it = list.iterator(); while (it.hasNext()) { String item = it.next(); if ("B".equals(item)) { it.remove(); // 安全删除 } System.out.println(item); }
3. 使用普通for循环配合get(index)
通过索引访问元素,适合需要知道当前元素位置的场景。
- 可以同时获取索引和元素值
- 注意避免频繁调用list.size()造成性能浪费
建议写法:
for (int i = 0, size = list.size(); i < size; i++) { System.out.println(list.get(i)); }
4. 使用Lambda表达式(Java 8+)
结合forEach方法,使代码更简洁,适合函数式编程风格。
- 语法简洁,适合简单操作
- 内部仍使用Iterator,不能在lambda中修改外部变量
示例:
list.forEach(System.out::println); // 或自定义操作 list.forEach(item -> { if ("A".equals(item)) { System.out.println("Found A"); } });
基本上就这些主流方式。日常开发推荐优先使用增强for循环或forEach方法,结构清晰又不容易出错。如果涉及删除操作,记得用Iterator。不复杂但容易忽略细节。


