博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Lambda表达式遍历集合
阅读量:4320 次
发布时间:2019-06-06

本文共 1458 字,大约阅读时间需要 4 分钟。

1、Collection

  Java 8 为Iterable接口新增了一个forEach(Consumer action)默认方法,该方法所需参数的类型是一个函数式接口,而Iterable接口是Collection接口的父接口,因此Collection集合也可以直接调用该方法。

  当程序调用Iterable的forEach(Consumer action)遍历集合元素时,程序会依次将集合元素传给Consumer的accept(T t)方法(该接口中唯一的抽象方法)。正因为Consumer是函数式接口,因此可以使用Lambda表达式来遍历集合元素。

import java.util.Collection;import java.util.HashSet;import java.util.function.*;public class CollectionEach{	public static void main(String []args){		//创建一个集合		Collection
c=new HashSet
(); //需要泛型,否则提示警告:使用了未经检查或不安全的操作,可以直接运行 c.add("ni"); c.add("hao"); c.add("java"); c.forEach(new Consumer
(){ public void accept(String t){ System.out.println("集合元素是:"+t); } }); //不使用lambda表达式和两种使用lambda表达式方式 c.forEach(t->System.out.println("集合元素是:"+t)); c.forEach(System.out::println); }}

 

2、Iterator

  java 8 为Iterator新增了一个forEachRemaining(Consumer action)方法,该方法所需的Consumer参数同样也是函数式接口。当程序调用Iterator的forEachRemaining(Consumer action)遍历集合元素时,程序会一次将集合元素传递给Consumer的accept(T t)方法(该接口中唯一的抽象方法)。

import java.util.Collection;import java.util.Iterator;import java.util.HashSet;public class IteratorEach{	public static void main(String []args){		Collection
c=new HashSet
(); c.add("ni"); c.add("hao"); c.add("java"); Iterator
it=c.iterator();//使用泛型 it.forEachRemaining(System.out::println); }}

 

  

转载于:https://www.cnblogs.com/MazeHong/p/5837246.html

你可能感兴趣的文章
[剑指Offer] 11.二进制中1的个数
查看>>
重置报表输出选择
查看>>
ip代理池抓取qq音乐热歌前300
查看>>
Android面试题集合
查看>>
Android NDK开发
查看>>
Centos中安装和配置vsftp简明教程
查看>>
spring源码学习之AOP(一)
查看>>
AES加密算法动画演示
查看>>
三种方法实现调用Restful接口
查看>>
php第五节(字符串函数和时间、日期函数)
查看>>
magento主页限制某个目录的产品显示数量
查看>>
SpringBoot整合Netty
查看>>
MongoDB数据库的基本操作
查看>>
PAT乙级1014
查看>>
ORACLE wm_concat自定义
查看>>
[Zend PHP5 Cerification] Lectures -- 6. Database and SQL
查看>>
[Drupal] Using the Administrator theme whenever you want.
查看>>
【Hibernate框架】关联映射(一对一关联映射)
查看>>
【算法】大数乘法
查看>>
WPF解析PPT为图片
查看>>