Java新特性玩转JDK8之reduce操作

DBC 1.7K 0
什么是reduce操作

聚合操作,中⽂意思是 “减少”
根据⼀定的规则将Stream中的元素进⾏计算后返回⼀个唯⼀的值

        List<Integer> intList = Arrays.asList(1,2,3);
        Optional<Integer> result1=intList.stream().reduce(Integer::sum);

        Integer result2=intList.stream().reduce(100, Integer::sum);

        System.out.println(result2);

        int value1 = Stream.of(1, 2, 3, 4, 5).reduce(new BinaryOperator<Integer>() {
            @Override
            public Integer apply(Integer integer, Integer integer2) {
                return integer + integer2;
            }
        }).get();

        System.out.println(value1);

        //带初始值
        int value2 = Stream.of(1, 2, 3, 4, 5).reduce(100, (item1, item2) -> item1 + item2);
        System.out.println(value2);

        //求出最大值
        int value3 = Stream.of(1645, 234345, 32, 44434, 564534, 435, 34343542, 212)
                .reduce((item1, item2) -> item1 > item2 ? item1 : item2).get();

        System.out.println(value3);
控制台输出Java新特性玩转JDK8之reduce操作插图

发表评论 取消回复
表情 图片 链接 代码

分享