美文网首页
reduce函数

reduce函数

作者: 程序男保姆 | 来源:发表于2022-12-28 09:29 被阅读0次
    /** ============================ reduce函数 ============================== */
 
    /**
     * reduce有三类, 分别是一个参数, 两个参数, 三个参数
     * 1、两个参数较一个参数多了一个初始值
     * 2、三个参数较两个参数多了一个并行操作时用于合并操作的函数时接口对象, 因此当串行操作时与两个参数的效果一致
     */
 
    // 一个参数
    @Test
    public void testReduce1() {
        List<Integer> list = Arrays.asList(3, 2, 4, 1);
        System.out.println(list.stream().reduce((acc, tmp) -> acc + tmp).get());
    }
 
    // 两个参数
    @Test
    public void testReduce2() {
        List<Integer> list = Arrays.asList(3, 2, 4, 1);
        System.out.println(list.stream().reduce(100, (acc, tmp) -> acc + tmp).intValue());
    }
 
    // 三个参数
    @Test
    public void testReduce3() {
        // 串行操作
        List<Integer> list = Arrays.asList(3, 2, 4, 1);
        System.out.println(list.stream().reduce(100
                , (acc, tmp) -> acc + tmp
                , (a, b) -> a + b).intValue());  // out ==> 110
 
        // 并行操作
        System.out.println(list.stream().parallel().reduce(100
                , (acc, tmp) -> acc + tmp
                , (a, b) -> a + b).intValue());  // out ==> 410
        /**
         * 分析:
         * list集合中四个值并行执行, 分别与初始值100相加后, 再进行合并操作, 即:
         * 1)3+100=103, 2+100=102, 4+100=104, 1+100=101
         * 2)103+102+104+101=410
         */
    }

       三个参数  1。 初始值 ;2。 转换的值; 3。 1+2
       Collectors.reducing(BigDecimal.ZERO, a -> a.getTotalAmount(), (a, b) -> a.add(b))

相关文章

  • Hadoop权威指南学习笔记

    1.关于MapReduce: map函数: reduce函数: combiner(合并函数):在reduce函数处...

  • for in ,for of, reduce

    for in ,for of, reduce 高级函数 filter map reduce filter 回调函数...

  • 2019-01-24记录

    计算函数被执行次数 ---- javascript reduce()函数的用法(): reduce函数可 接受一个...

  • reduce函数的用法

    这是一个考察面试者对reduce函数用途的js面试题。下面我们看一下reduce函数的函数介绍: reduce()...

  • 5-python中reduce()函数

    reduce()函数也是Python内置的一个高阶函数。reduce()函数接收的参数和 map()类似,一个函数...

  • 3.2中functools.reduce记录

    python3中必须从functools中import reduce函数 reduce()函数的调用方法如下: 它...

  • Swift 高阶函数

    高阶函数之Reduce public func reduce(_ initialResult: R...

  • 3

    匿名函数,map,reduce,filter from functools import reduce a =ma...

  • jdk1.8的stream学习之三

    reduce函数 1:reduce(BinaryOperator accumulator) redu...

  • day3

    实现一个reduce函数,作用和原生的reduce类似。

网友评论

      本文标题:reduce函数

      本文链接:https://www.haomeiwen.com/subject/oyoaqdtx.html