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迭代器相关推荐

  1. 使用Lambda表达式遍历Iterator迭代器

    Java 8 为 Iterator 引入了一个 forEachRemaining(Consumer action) 默认方法,该方法所需的 Consumer 参数同样也是函数式接口.当程序调用 Ite ...

  2. 1.9 Lambda表达式遍历Collection集合

    Java使用Lambda表达式遍历Collection集合 Java 8 为 Iterable 接口新增了一个 forEach(Consumer action) 默认方法,该方法所需参数的类型是一个函 ...

  3. Java List遍历四种方式 Lambda表达式遍历

    package com.config; import java.util.ArrayList; import java.util.List; /** for循环遍历之Lambda表达式遍历 */ pu ...

  4. JAVA如何遍历arraylist数组,Java 程序使用Lambda表达式遍历ArrayList

    Java 程序使用Lambda表达式遍历ArrayList 在此示例中,我们将学习在Java中使用lambda表达式遍历数组列表的每个元素. 要理解此示例,您应该了解以下Java编程主题: 示例:将A ...

  5. Stream流和Lambda表达式遍历HashMap

    Map<String,Object> map = new HashMap<>();map.put("name","zhongxu");m ...

  6. lamuda表达式 list移除空元素_java8 Lambda表达式遍历并移除元素,报错:ConcurrentModificationException的解决办法...

    1.情景展示 已知json对象MainExt 需要把值为空数组的key移除掉,下面是执行代码 执行结果报错:java.util.ConcurrentModificationException 2.原因 ...

  7. C++11:Lambda表达式(匿名函数)理解

    C++在C11标准中引入了匿名函数,即没有名字的临时函数,又称之为lambda表达式.lambda表达式 实质上是创建一个匿名函数/对象.即你可以理解为(Lambda 表达式实际上是一个函数,只是它没 ...

  8. C++11 Lambda表达式

    1.简介 1.1定义 C++11新增了很多特性,Lambda表达式(Lambda expression)就是其中之一,很多语言都提供了 Lambda 表达式,如 Python,Java ,C#等.本质 ...

  9. C++11 lambda表达式与函数对象

    C++ lambda表达式与函数对象 lambda表达式是C++11中引入的一项新技术,利用lambda表达式可以编写内嵌的匿名函数,用以替换独立函数或者函数对象,并且使代码更可读.但是从本质上来讲, ...

最新文章

  1. 除了 AI,这些技术为 IIoT 插上飞向“4.0”的翅膀
  2. 【Android 逆向】修改运行中的 Android 进程的内存数据 ( 运行环境搭建 Android 模拟器安装 | 拷贝 Android 平台可执行文件和动态库到 /data/system )
  3. js svg语音波动动画_SVG实现环形进度条的原理
  4. ROS知识:分析和改写小乌龟代码【01】
  5. 吴恩达深度学习课程deeplearning.ai课程作业:Class 4 Week 4 Face Recognition for the Happy House
  6. java 方法中定义类_在Java方法中使用类定义
  7. 从在浏览器中输入URL到页面渲染出来的完整过程是怎样的?
  8. gulp plugins
  9. M1芯片CAD如何安装?M1 mac怎么安装AutoCAD?
  10. 实现QQ主界面效果[图]
  11. ANSYS 入门教程 (1) - ANSYS 与结构分析
  12. 基于TMC4361-超静音闭环步进电机驱动方案
  13. 快速JD获取eid和fp
  14. php的rps,如何理解RPS的本质
  15. ios 改变图片尺寸_iOS基础(十八)——调整图片尺寸和大小
  16. 《我是歌手》网上报名评审
  17. 梦幻西游 python.dll,答疑第三期 | 使用 Airtest 最常见的 8 大问题
  18. 王思聪手撕花千芳——为你深挖何为六度关系
  19. 干选机的工作原理与维护
  20. 模拟电路67(开关型稳压电路1)

热门文章

  1. Py之tkinter:python最简单的猜字小游戏带你进入python的GUI世界
  2. handler消息机制入门
  3. 阅读《Oracle内核技术揭秘》的读书笔记
  4. MySQL中用decimal的原因
  5. 见鬼了,VS2005发布站点不会把Global.asax复上。
  6. Redis的简单实践
  7. c语言八大数据基本类型,C语言中基本的数据类型有哪些
  8. 《研磨设计模式》chap17 策略模式(2) 总结
  9. buu [BJDCTF 2nd]签到-y1ng
  10. python网络编程—Socket