美文网首页bigdata
4. 使用收集器实现求平均数

4. 使用收集器实现求平均数

作者: 百炼 | 来源:发表于2018-12-20 10:17 被阅读0次

    date[2018-12-20]

    使用收集器收集

    1.函数式编程相对于指令式编程的一个主要优势:你只需指出希望的结果——“做什么”,而不用操心执行的步骤——“如何做”。
    2.收集器非常有用,因为用它可以简洁而灵活地定义 collect 用来生成结果集合的标准。更具体地说,对流调用collect方法将对流中的元素触发一个归约操作(由 Collector 来参数化)。

    使用Collectors.averagingInt求平均值,使用summarizingInt 工厂方法返回的收集器。例如,通过一次 summarizing 操作你可以就数出菜单中元素的个数,并得到菜肴热量总和、平均值、最大值和最小值。

        @Test
        public void testAveragingInt() {
            Stream<Integer> integerStream = IntStream.iterate(0, n -> n + 2).limit(10).boxed();
            Double average = integerStream.collect(Collectors.averagingInt(value -> value));
            System.out.println("average:" + average);
        }
      @Test
        public void testIntSummaryStaticstics() {
            Stream<Integer> integerStream = IntStream.iterate(0, n -> n + 2).limit(10).boxed();
            IntSummaryStatistics collect = integerStream.collect(Collectors.summarizingInt(v -> v));
            System.out.println(collect.toString());
            System.out.println("min:" + collect.getMin());
            System.out.println("max:" + collect.getMax());
            System.out.println("sum:" + collect.getSum());
            System.out.println("average:" + collect.getAverage());
            Assert.assertEquals(collect, "");
        }
    

    Collectors中定义的方法

    Collectors收集器方法1.png
    Collectors收集器方法2.png
    Collectors收集器方法3.png

    相关文章

      网友评论

        本文标题:4. 使用收集器实现求平均数

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