答案:Java 8引入的forEach结合Lambda可简化集合遍历,支持List、Set及Map的键值对操作,语法为collection.forEach(元素 -> 操作),如names.forEach(System.out::println);Map可通过entrySet遍历,ages.forEach((k,v)->...);可与Stream的filter联用实现条件处理,如numbers.stream().filter(n->n%2==0).forEach(System.out::println);支持方法引用如people.forEach(Person::printInfo);但禁止在forEach中修改集合结构以避免ConcurrentModificationException。

在Java中,forEach 是一种简洁高效的遍历集合的方式,尤其从Java 8引入函数式编程特性后,使用 forEach 结合 Lambda 表达式可以大大简化代码。它不仅适用于 List、Set 等集合类型,也可以用于 Map 的键值对遍历。
forEach 是 Iterable 接口中的默认方法,所有实现该接口的集合类都可以调用。其基本语法如下:
collection.forEach(元素 -> 处理操作);例如,遍历一个字符串列表并打印每个元素:
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");还可以直接引用方法,使代码更简洁:
立即学习“Java免费学习笔记(深入)”;
names.forEach(System.out::println);Map 不直接实现 Iterable,但可以通过 entrySet()、keySet() 或 values() 获取可迭代视图。
遍历键值对示例:
Map<String, Integer> ages = new HashMap<>();这种方式比传统的 for 循环更加直观,也避免了手动获取迭代器的繁琐过程。
在实际开发中,常需要对集合元素进行过滤或处理。forEach 虽不支持过滤(那是 Stream 的职责),但可以配合 filter 使用:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);这样只输出偶数。如果只是简单遍历无需过滤,直接使用 forEach 更高效。
对于自定义对象,可以调用其方法:
List<Person> people = ...;基本上就这些。掌握 forEach 的用法能让集合遍历更清晰、易读,尤其是在配合 Lambda 和方法引用时。注意不要在 forEach 中修改集合结构(如添加/删除元素),否则可能引发 ConcurrentModificationException。合理使用,效果显著。
以上就是在Java中如何使用forEach遍历集合_集合遍历操作解析的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号