1.11 Lambda表达式遍历Iterator迭代器
Java使用Lambda表达式遍历Iterator迭代器
Java 8 为 Iterator 引入了一个 forEachRemaining(Consumer action)
默认方法,该方法所需的 Consumer 参数同样也是函数式接口。当程序调用 Iterator 的 forEachRemaining(Consumer action)
遍历集合元素时,程序会依次将集合元素传给 Consumer 的 accept(T t)
方法(该接口中唯一的抽象方法)。
java.util.function 中的 Function、Supplier、Consumer、Predicate和其他函数式接口被广泛用在支持 Lambda 表达式的 API 中。
“void accept(T t)
;”是 Consumer的核心方法,用来对给定的参数 T 执行定义操作。
如下程序示范了使用 Lambda 表达式来遍历集合元素。
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;public class Test {public static void main(String[] args) {//创建一个集合Collection objs=new HashSet();objs.add("111");objs.add("222");objs.add("333");objs.add("444");objs.add("555");// 获取objs集合对应的迭代器Iterator it = objs.iterator();// 使用Lambda表达式(目标类型是Comsumer)来遍历集合元素it.forEachRemaining(obj -> System.out.println("迭代集合元素:" + obj));}}
输出结果为:
迭代集合元素:111
迭代集合元素:222
迭代集合元素:333
迭代集合元素:444
迭代集合元素:555
上面程序中 it.forEachRemaining(obj -> System.out.println("迭代集合元素:" + obj));
代码调用了 Iterator 的 forEachRemaining() 方法来遍历集合元素,传给该方法的参数是一个 Lambda 表达式,该 Lambda 表达式的目标类型是 Consumer,因此上面代码也可用于遍历集合元素。
1.11 Lambda表达式遍历Iterator迭代器相关推荐
- 使用Lambda表达式遍历Iterator迭代器
Java 8 为 Iterator 引入了一个 forEachRemaining(Consumer action) 默认方法,该方法所需的 Consumer 参数同样也是函数式接口.当程序调用 Ite ...
- 1.9 Lambda表达式遍历Collection集合
Java使用Lambda表达式遍历Collection集合 Java 8 为 Iterable 接口新增了一个 forEach(Consumer action) 默认方法,该方法所需参数的类型是一个函 ...
- Java List遍历四种方式 Lambda表达式遍历
package com.config; import java.util.ArrayList; import java.util.List; /** for循环遍历之Lambda表达式遍历 */ pu ...
- JAVA如何遍历arraylist数组,Java 程序使用Lambda表达式遍历ArrayList
Java 程序使用Lambda表达式遍历ArrayList 在此示例中,我们将学习在Java中使用lambda表达式遍历数组列表的每个元素. 要理解此示例,您应该了解以下Java编程主题: 示例:将A ...
- Stream流和Lambda表达式遍历HashMap
Map<String,Object> map = new HashMap<>();map.put("name","zhongxu");m ...
- lamuda表达式 list移除空元素_java8 Lambda表达式遍历并移除元素,报错:ConcurrentModificationException的解决办法...
1.情景展示 已知json对象MainExt 需要把值为空数组的key移除掉,下面是执行代码 执行结果报错:java.util.ConcurrentModificationException 2.原因 ...
- C++11:Lambda表达式(匿名函数)理解
C++在C11标准中引入了匿名函数,即没有名字的临时函数,又称之为lambda表达式.lambda表达式 实质上是创建一个匿名函数/对象.即你可以理解为(Lambda 表达式实际上是一个函数,只是它没 ...
- C++11 Lambda表达式
1.简介 1.1定义 C++11新增了很多特性,Lambda表达式(Lambda expression)就是其中之一,很多语言都提供了 Lambda 表达式,如 Python,Java ,C#等.本质 ...
- C++11 lambda表达式与函数对象
C++ lambda表达式与函数对象 lambda表达式是C++11中引入的一项新技术,利用lambda表达式可以编写内嵌的匿名函数,用以替换独立函数或者函数对象,并且使代码更可读.但是从本质上来讲, ...
最新文章
- 除了 AI,这些技术为 IIoT 插上飞向“4.0”的翅膀
- 【Android 逆向】修改运行中的 Android 进程的内存数据 ( 运行环境搭建 Android 模拟器安装 | 拷贝 Android 平台可执行文件和动态库到 /data/system )
- js svg语音波动动画_SVG实现环形进度条的原理
- ROS知识:分析和改写小乌龟代码【01】
- 吴恩达深度学习课程deeplearning.ai课程作业:Class 4 Week 4 Face Recognition for the Happy House
- java 方法中定义类_在Java方法中使用类定义
- 从在浏览器中输入URL到页面渲染出来的完整过程是怎样的?
- gulp plugins
- M1芯片CAD如何安装?M1 mac怎么安装AutoCAD?
- 实现QQ主界面效果[图]
- ANSYS 入门教程 (1) - ANSYS 与结构分析
- 基于TMC4361-超静音闭环步进电机驱动方案
- 快速JD获取eid和fp
- php的rps,如何理解RPS的本质
- ios 改变图片尺寸_iOS基础(十八)——调整图片尺寸和大小
- 《我是歌手》网上报名评审
- 梦幻西游 python.dll,答疑第三期 | 使用 Airtest 最常见的 8 大问题
- 王思聪手撕花千芳——为你深挖何为六度关系
- 干选机的工作原理与维护
- 模拟电路67(开关型稳压电路1)