Stream - Reduce

原创转载请注明出处:http://agilestyle.iteye.com/blog/2425206

 

reduce sum

private static void reduceSumTest1() {
    Stream<Integer> stream = Arrays.stream(new Integer[]{1, 2, 3, 4, 5, 6, 7});
    Integer reduce = stream.reduce(0, (i, j) -> i + j);
    System.out.println(reduce);
}

private static void reduceSumTest2() {
    Stream<Integer> stream = Arrays.stream(new Integer[]{1, 2, 3, 4, 5, 6, 7});
    Integer reduce = stream.reduce(0, Integer::sum);
    System.out.println(reduce);
}

private static void reduceSumTest3() {
    Stream<Integer> stream = Arrays.stream(new Integer[]{1, 2, 3, 4, 5, 6, 7});
    stream.reduce(Integer::sum).ifPresent(System.out::println);
}

Console Output

28
28
28

Using reduce to sum the numbers in a stream


 

 

 

reduce max

private static void reduceMaxTest() {
    Stream<Integer> stream = Arrays.stream(new Integer[]{1, 2, 3, 4, 5, 6, 7});
    stream.reduce(Integer::max).ifPresent(System.out::println);
}

Console Output

7

A reduce operation—calculating the maximum


 

reduce min

private static void reduceMinTest() {
    Stream<Integer> stream = Arrays.stream(new Integer[]{1, 2, 3, 4, 5, 6, 7});
    stream.reduce(Integer::min).ifPresent(System.out::println);
}

 Console Output

1

 

reduce even number multiply

private static void reduceTest() {
    Stream<Integer> stream = Arrays.stream(new Integer[]{1, 2, 3, 4, 5, 6, 7});
    Integer result = stream.filter(i -> i % 2 == 0).reduce(1, (i, j) -> i * j);

    Optional.of(result).ifPresent(System.out::println);
}

 Console Output

48

 

Reference

Manning.Java.8.in.Action.Lambdas.Streams.and.functional-style.programmin

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值