zoukankan      html  css  js  c++  java
  • java1.8 新特性(关于 match,find reduce )操作

    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

     

  • 相关阅读:
    为什么gitHub提交记录显示作者名称是unknow?
    hibernate的面向对象查询的效率有多低?
    Cesium中文网——如何开发一款地图下载工具[一]
    使用Cesium的地下渲染技术可视化瑞士的地质资源
    用Cesium可视化地下设施、矿山和地质层
    CesiumJS新增官方TypeScript类型定义
    Cesium1.70-介绍CesiumOSM建筑新特性
    宣布与Epic Games合作,为虚幻引擎创造Cesium
    地底,TypeScript和全球3D建筑发布于CesiumJS 1.70
    CesiumJS下载量超过1百万次
  • 原文地址:https://www.cnblogs.com/920913cheng/p/10240219.html
Copyright © 2011-2022 走看看