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 表达式来遍历集合元素。

public class IteratorEach {public static void main(String[] args) {// 创建一个集合Collection objs = new HashSet();objs.add("百度Java教程");objs.add("百度C语言教程");objs.add("百度C++教程");// 获取objs集合对应的迭代器Iterator it = objs.iterator();// 使用Lambda表达式(目标类型是Comsumer)来遍历集合元素it.forEachRemaining(obj -> System.out.println("迭代集合元素:" + obj));}
}

输出结果为:

迭代集合元素:百度C++教程
迭代集合元素:百度C语言教程
迭代集合元素:百度Java教程

上面程序中第 11 行代码调用了 Iterator 的 forEachRemaining() 方法来遍历集合元素,传给该方法的参数是一个 Lambda 表达式,该 Lambda 表达式的目标类型是 Consumer,因此上面代码也可用于遍历集合元素。

使用Lambda表达式遍历Iterator迭代器相关推荐

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

    Java使用Lambda表达式遍历Iterator迭代器 Java 8 为 Iterator 引入了一个 forEachRemaining(Consumer action) 默认方法,该方法所需的 C ...

  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. foreach lambda写法_Java8新特性之forEach+Lambda 表达式遍历Map和List

    这是Java8系列的第二篇,今天来说一下Java8中forEach的简单使用.我们使用对比的方式来看应该会看得更加清楚,更能理解: 一.遍历Map ============Java8之前的方式==== ...

  8. 遍历HashMap(包括lambda表达式)

    遍历HashMap 参考文章: https://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247493142&idx=2&s ...

  9. Java—一篇读懂java集合(Collection/Map)及Lambda表达式

    集合简介   在集合类之前,我们使用数组存储,数组既可以存储基本数据类型的值,也可以存储对象(对象的引用变量),但是集合只能存储对象.   Java集合类似于一种容器,将同类型的对象(实际为对象引用) ...

最新文章

  1. centos上用yum安装rar/unrar
  2. python上下条形图-Python之多变量叠加条形图
  3. Java线程—如何解决Swing的单线程问题-----------Swing线程机制
  4. django 坑~~
  5. VS2010整合NUnit进行单元测试
  6. mysql添加序列触发器_在Oracle中创建自增序列之触发器
  7. Codeforces Beta Round #80 (Div. 1 Only) D. Time to Raid Cowavans 分块
  8. 计算机领域数据集下载链接
  9. 使用免费的Open NFC simulator模拟器在BlackBerry模拟器上进行NFC程序调试
  10. bpsk调制及解调实验_漫画讲解调制解调,深奥的通信原理是不是明白了?
  11. SPSS安装多次显示请输入注册的电子邮箱时,采用的解决办法。亲测有效!
  12. php 度分秒和小数转化
  13. 什么是光电耦合器?光耦有哪些类型
  14. 他们联手造了个抢票节”
  15. 修改Endnote插入Word参考文献中位置
  16. JRE和JDK的区别(笔记)
  17. php 自定义图片排版,照片拼图在线制作 自带多种照片拼图模板,自由排版将多张照片合成一张...
  18. 计算机网络实验-企业级网络构建与配置实现
  19. 解决ios手机vue H5页面输入键盘收起后页面回弹到顶部问题
  20. AD数模转化AD0809

热门文章

  1. 猎豹浏览器网页声音怎么关闭
  2. win7电脑蓝屏的解决方法
  3. js保存当前html,JavaScript保存当前页面
  4. springboot前端传参date类型后台处理方式
  5. Java 为什么数组下标只能为int不能为long?int32位,为何最大值不是2^32 -1 ? java基本类型取值范围
  6. hashcode、equals
  7. 在Spring Boot + Mybatis 中,使用@Repository失效
  8. java 矩阵转置_图解利用Java实现数组转置
  9. ppap文件过程流程图制作_收藏 | 据说PPAP的精华都在这个PPT里!一起来鉴定下
  10. 快速排序c语言实现,快速排序的C语言代码实现