JDK8中foreach遍历集合的用法与示例
时间:2026-08-18 | 作者:318050 | 阅读:0JDK 8 中集合遍历方式更直接
到了 JDK 8,配合 Lambda 表达式的引入,集合遍历这件事也变得更直接了。
新增了一个 forEach(Consumer action) 方法。这个方法接收的参数本质上是一个函数式接口。
下面结合一个具体案例,看一看如何借助 forEach(Consumer action) 来遍历集合对象,示例如文件1所示。
文件1 Example07.ja va
1 import ja va.util.ArrayList;
2 public class Example07 {
3 public static void main(String[] args) {
4 ArrayList list = new ArrayList();
5 list.add("data_1");
6 list.add("data_2");
7 list.add("data_3");
8 System.out.println(list);
9 // 使用JDK 8新增的forEach(Consumer action)方法遍历集合
10 list.forEach(obj -> System.out.println("迭代集合元素:"+obj));
11 }
12 }
运行结果如图1所示。
图1 运行结果
文件1执行过程说明
文件1中,首先创建了一个集合对象,并调用add()方法向集合添加三个元素。
接着,程序打印该集合信息。之后使用 forEach(Consumer action) 方法对集合中的元素进行遍历。
这个方法传递的是一个Lambda表达式形式书写的函数式接口。
forEach(Consumer action) 方法在执行时,会自动遍历集合元素,并将元素逐个传递给Lambda表达式的形参。
Iterator 的 forEachRemaining(Consumer action) 方法
JDK 8中除了针对所有集合类型对象新增了一个 forEach(Consumer action) 方法来遍历集合外,还针对Iterator迭代器对象提供了一个 forEachRemaining(Consumer action) 方法来进行遍历。
该方法同样需要一个函数式接口。
接下来通过一个案例来演示如何使用 forEachRemaining(Consumer action) 方法遍历Iterator接口元素,如文件2所示。
文件2 Example08.ja va
1 import ja va.util.ArrayList;
2 import ja va.util.Iterator;
3 public class Example08 {
4 public static void main(String[] args) {
5 ArrayList list = new ArrayList();
6 list.add("data_1");
7 list.add("data_2");
8 list.add("data_3");
9 System.out.println(list);
10 // 将集合转换为Iterator迭代器对象
11 Iterator it = list.iterator();
12 // 使用JDK 8新增的forEachRemaining(Consumer action)来遍历迭代器对象
13 it.forEachRemaining(obj -> System.out.println("迭代集合元素:"+obj));
14 }
15 }
运行结果如图2所示。
图2 运行结果
文件2与文件1的对比
和文件1对照着看,其实很容易发现:文件2并没有改变遍历的本质。
它只是先把集合对象转成了Iterator迭代器对象,再通过 forEachRemaining(Consumer action) 方法把集合里的元素依次遍历出来。
从程序最终的运行结果也能看出来,这两种遍历方式拿到的结果完全一致。
它们都可以准确无误地把集合中的元素遍历出来。
小提示
在本小节List集合遍历中,讲解了List集合遍历的三种主要方法。
这些方法都可以用来对单例集合Collection进行遍历,包括List集合以及后面将要讲解的Set集合。
来源:整理自互联网
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- DateTimeFormatter类使用方法与日期时间格式化详解
- 时间:2026-08-18
-
- ArrayList集合详解与常见用法指南
- 时间:2026-08-18
-
- List接口详解:特点、用法与常见实现类
- 时间:2026-08-18
-
- LinkedList集合详解与常见用法介绍
- 时间:2026-08-18
-
- Iterator遍历集合的方法与使用技巧
- 时间:2026-08-18
-
- foreach遍历集合的用法与常见问题解析
- 时间:2026-08-18
-
- Set接口详解:Java集合中Set的特点与用法
- 时间:2026-08-18
-
- TreeSet集合的特点、排序原理与常见用法
- 时间:2026-08-18
精选合集
更多大家都在玩
热门话题
大家都在看
更多-
- 智能LOGO设计神器:像私人设计师一样快速完成LOGO设计
- 时间:2026-08-17
-
- 百度AI探索版是什么:新一代AI搜索引擎解析
- 时间:2026-08-17
-
- Android开发入门学习路线:从零开始快速上手
- 时间:2026-08-17
-
- 司马阅SmartRead AI阅读神器:文档对话提问即得答案
- 时间:2026-08-17
-
- 通义智文阅读功能介绍:支持网页论文图书与自由阅读
- 时间:2026-08-17
-
- Atom如何配置Kotlin开发环境并编写Kotlin代码
- 时间:2026-08-17
-
- Kotlin中直接调用函数与invoke()用法区别及适用场景
- 时间:2026-08-17
-
- CentOS下Rust项目版本控制方法与实践
- 时间:2026-08-17

