JDK8中foreach遍历集合的用法与示例
时间:2026-08-18 | 作者:清风无痕 | 阅读: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集合。
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- 迅捷路由器怎么调信号最强,设置时要注意什么?
- 时间:2026-08-27
-
- vivo浏览器怎么卸不掉?原因和解决方法在这里
- 时间:2026-08-27
-
- OPPO R11s黑屏了,怎么强制恢复出厂设置?
- 时间:2026-08-27
-
- 飞利浦显示器包装盒有生产日期和保修期吗?怎么看?
- 时间:2026-08-27
-
- 联想新平板开机必须联网吗?怎么做?
- 时间:2026-08-27
-
- 平板横竖屏切换设置与问题解决
- 时间:2026-08-27
-
- 移动电源容量怎么测?要准备哪些工具?
- 时间:2026-08-27
-
- 荣耀90 Pro防水吗?防水级别多少?怎么用才安全
- 时间:2026-08-27
精选合集
更多大家都在玩
大家都在看
更多-
- 糖尿病完全不能吃糖吗
- 时间:2026-09-15
-
- 蚂蚁庄园小课堂2026年9月16日最新题目答案
- 时间:2026-09-15
-
- 小鸡答题今天的答案是什么2026年9月16日
- 时间:2026-09-15
-
- 蚂蚁庄园每日答题答案2026年9月16日
- 时间:2026-09-15
-
- 以下哪种粮食是酿造绍兴黄酒的主要原料 蚂蚁庄园今日答案9月16日
- 时间:2026-09-15
-
- 劝学名句“及时当勉励,岁月不待人”出自哪位诗人 蚂蚁庄园今日答案9.16
- 时间:2026-09-15
-
- 蚂蚁庄园今天答题答案2026年9月16日
- 时间:2026-09-15
-
- 蚂蚁庄园答题今日答案2026年9月16日
- 时间:2026-09-15

