暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Java新特性解读JDK8之流操作reduce函数

227decision 2020-02-08
1843

reduce作用

中文意思是“减少”,将stream经过一定规则计算返回一个唯一值。

reduce源码

    Optional<T> reduce(BinaryOperator<T> accumulator);
    T reduce(T identity, BinaryOperator<T> accumulator);


    //accumulator参数是函数式接口              
    @FunctionalInterface
    public interface BinaryOperator<T> extends BiFunction<T,T,T>{
    }

    reduce使用

      package com.example.streamdemo;


      import java.util.Arrays;
      import java.util.List;
      import java.util.Optional;


      public class ReduceDemo {
      public static void main(String[] args) {
      //累加计算
      List<Integer> list = Arrays.asList(1,2,3,4);
      Optional<Integer> optional = list.stream().reduce((a,b)->a+b);
      System.out.println(optional.get());
      //求集合中最大值
      Optional<Integer> optional2 = list.stream().reduce((a,b)->a>b?a:b);
      System.out.println(optional2.get());
      //初始值累加计算
      Integer integer = list.stream().reduce(20, (a,b)->a+b);
      System.out.println(integer);
        }
      }




      最后修改时间:2020-07-01 13:35:47
      文章转载自227decision,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

      评论