1. match处理Integer集合

    package lambda.stream;
    /**
    * @author 作者:cb
    * @version 创建时间:2019年1月4日 下午2:35:05 */ import java.util.Arrays;
    import java.util.List;
    import java.util.stream.Collectors;
    import java.util.stream.Stream; public class StreamDemo {
    public static void main(String[] args) {
    testMatch();
    } public static void testMatch() {
    List<Integer> asList = Arrays.asList(1, 2, 3);
    // 必须满足任何一个元素 都 小于5 才返回true 有一个元素大于5 都会返回false
    boolean allMatch = asList.stream().allMatch(i -> i < 5);
    System.out.println(allMatch);
    List<Integer> asList1 = Arrays.asList(8, 9, 10);
    // 必须满足任何一个元素 都不能 小于5 才返回true 有一个元素小于5 都会返回false
    boolean noneMatch = asList1.stream().noneMatch(i -> i < 5);
    System.out.println(noneMatch);
    List<Integer> asList2 = Arrays.asList(8, 9, 3);
    // 只要有任何一个元素 小于 5 都返回true
    boolean anyMatch = asList2.stream().anyMatch(i -> i < 5);
    System.out.println(anyMatch); }

    结果:

    true
    true
    true
  2. find 
    package lambda.stream;
    /**
    * @author 作者:cb
    * @version 创建时间:2019年1月4日 下午2:35:05 */ import java.util.Arrays;
    import java.util.List;
    import java.util.stream.Collectors;
    import java.util.stream.Stream; public class StreamDemo {
    public static void main(String[] args) {
    testFind();
    } public static void testFind() {
    List<Integer> asList = Arrays.asList(5, 2, 3);
    // 从该list中获取第一个元素
    Integer num = asList.stream().findFirst().get();
    System.out.println(num);
    Integer anyNum = asList.stream().findAny().get();
    System.out.println(anyNum);
    }

    结果:

    5
    5
  3. reduce 实现一个集合的累加
    package lambda.stream;
    /**
    * @author 作者:cb
    * @version 创建时间:2019年1月4日 下午2:35:05 */ import java.util.Arrays;
    import java.util.List;
    import java.util.stream.Collectors;
    import java.util.stream.Stream; public class StreamDemo {
    public static void main(String[] args) {
    testReduce();
    } public static void testReduce() {
    List<Integer> asList = Arrays.asList(5, 2, 3);
    // 实现该集合的累加
    Integer reduce = asList.stream().reduce(0, (i, j) -> i + j);
    System.out.println(reduce);
    // 实现该集合的乘积
    Integer reduce1 = asList.stream().reduce(1, (i, j) -> i * j);
    System.out.println(reduce1); }

    结果:

    10
    30

java1.8 新特性(关于 match,find reduce )操作的更多相关文章

  1. java1.8新特性之stream流式算法

    在Java1.8之前还没有stream流式算法的时候,我们要是在一个放有多个User对象的list集合中,将每个User对象的主键ID取出,组合成一个新的集合,首先想到的肯定是遍历,如下: List& ...

  2. Stream:java1.8新特性

    原 Stream:java1.8新特性 2017年08月01日 18:15:43 kekeair-zhang 阅读数:392 标签: streamjava1-8新特性 更多 个人分类: 日记 版权声明 ...

  3. Java8 新特性 Steam() 中间有状态操作

    中间有状态操作 Java8 新特性 Stream 练习实例   中间操作,就是把数据处理成自己想要的类型,并且有状态操作,是在所有的数据基础上进行操作的.比如dictinct(去重),sorted(排 ...

  4. java1.8新特性整理(全)

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/yitian_66/article/deta ...

  5. java1.8新特性

    转自:http://www.oschina.NET/translate/everything-about-Java-8 建议去看原文,此处转载只是为了记录. 这篇文章是对Java8中即将到来的改进做一 ...

  6. java1.8新特性(一)

    一直在更新java 版本,原来也没有关注java版本的变化 引入的一些新的api  引起注意的还是  关于一些并发包的使用,那时候才对每个版本的特性 去了解了一下,虽然 不一定都用上了,但是不管学习什 ...

  7. java1.7新特性:try-with-resources

    转载:https://blog.csdn.net/fanxiaobin577328725/article/details/53067163 首先看代码: import org.junit.Test; ...

  8. Java1.8新特性 - Stream流式算法

    一. 流式处理简介   在我接触到java8流式数据处理的时候,我的第一感觉是流式处理让集合操作变得简洁了许多,通常我们需要多行代码才能完成的操作,借助于流式处理可以在一行中实现.比如我们希望对一个包 ...

  9. Java1.7新特性

    1.switch语句支持字符串变量 public String getTypeOfDayWithSwitchStatement(String dayOfWeekArg) { String typeOf ...

  10. Java1.8新特性——接口改动和Lambda表达式

    Java1.8新特性——接口改动和Lambda表达式 摘要:本文主要学习了Java1.8的新特性中有关接口和Lambda表达式的部分. 部分内容来自以下博客: https://www.cnblogs. ...

随机推荐

  1. python django day 4 database

    django-admin.py startproject learn_models # 新建一个项目 cd learn_models # 进入到该项目的文件夹 django-admin.py star ...

  2. Queue接口的实现类竟然有一个是LinkedList,一个是优先队列(同一个接口,只改了不同的实现类,附源码)

    输出是: Queue接口底层换一个实现类,照样的是调用Queue接口中的方法 import java.util.HashMap; import java.util.LinkedList; import ...

  3. CLR(Common Language Runtime) 公共语言运行库

    .NET Core 使用 CoreCLR .NET Framework 使用CLR. 1. 将代码编译为IL (Intermediate Language) 2. CLR 把IL 编译为平台专用的本地 ...

  4. Day 35数据库(Day1)

    创建表. create table student( id int not null auto_increment PRIMARY key, name archar(250) not null, ag ...

  5. First 1

    一,Python介绍 1,python的出生与应用 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打 ...

  6. MYSQL 中的 int(11) 到底代表什么意思?

    各 INT 类型无符号最大值用单位表示: INT 类型 无符号最大值用单位表示 TINYINT 255 SMALLINT 65535 MEDIUMINT 1677 万 INT 42 亿 BIGINT ...

  7. operator <<”不明确

    在声明重载的输出运算符<< 时,如果声明时的返回类型是std::ostream,而不是std::ostream&,但是定义的时候又加了引用的话,那么就会报“operator < ...

  8. hbase 相关

    ----------------------------------------hbase的 安装---------------------------------------- 本地安装: 1 解压 ...

  9. href="javacript:;" href="javacript:void(0);" href="#"区别。。。

    一.href="javacript:;"  这种用法不正确,这么用的话会出现浏览器访问“javascript:;”这个地址的现象: 二.href="javacript:v ...

  10. FireDAC探索 (二)

    又花时间试了试FireDAC,本想找到一些办法,让FireDAC取数据能和DBX样快,最终还是失败了,DBX实现是太快了,3472第记录(110个字段的表),0毫秒就抓过来了, FireDAC最快也要 ...