Collectors.averagingLong()

Java 8 流的新类 java.util.stream.Collectors 实现了 java.util.stream.Collector 接口,同时又提供了大量的方法对流 ( stream ) 的元素执行 map and reduce 操作,或者统计操作。

Collectors.averagingLong() 方法也和 Collectors.averagingDouble() 类似,不同的是它把流中的所有元素看成是 long类型,并返回一个 double类型的平均值

一点唠叨:

  • 相对于Collectors.averagingDouble()来说,方法体只执行一次。
  • 相对于Collectors.averagingDouble()来说,方法体做出了优化
  • 相对于Collectors.averagingDouble()来说,这个没有坑
  • ……
  • 为什么这么提Collectors.averagingDouble(),最好看一下—> averagingDouble
  • 因为Collectors.averagingDouble()有坑,有坑,有坑

AveragingLongExample测试

@Test
public void AveragingLongExample() {List<Long> list = Arrays.asList(11111111111L, 2222222222222222L, 3333333333333333L, 44444444444444L, 555555555555L);Double result = list.stream().map(s -> {System.out.println("map-> " + s);return s;}).collect(Collectors.averagingLong(d -> {System.out.println(d + "-->" + (d * 2));return (d * 2);}));System.out.println("计算结果: " + result);
}

AveragingLongExample结果

map-> 11111111111
11111111111-->22222222222
map-> 2222222222222222
2222222222222222-->4444444444444444
map-> 3333333333333333
3333333333333333-->6666666666666666
map-> 44444444444444
44444444444444-->88888888888888
map-> 555555555555
555555555555-->1111111111110
计算结果: 2.240226666666666E15

Collectors.averagingLong()相关推荐

  1. collectors 求和_Java-Collectors常用的20个方法

    相思相见知何日?此时此夜难为情. pexels-pixabay-267350.jpg 返回List集合: toList() 用于将元素累积到List集合中.它将创建一个新List集合(不会更改当前集合 ...

  2. Collectors

    Collectors它是个工具类,提供了很多静态方法来返回Collector.通常作为Stream.collect()方法的入参,来实现更多的功能. API分类 求平均值 static <T&g ...

  3. 【Java 8 新特性】Java 8 Collectors示例

    Java 8 Collectors示例 Collectors.averagingDouble Collectors.averagingInt Collectors.averagingLong Coll ...

  4. Java基础系列-Collector和Collectors

    原创文章,转载请标注出处:<Java基础系列-Collector和Collectors> 一.概述 Collector是专门用来作为Stream的collect方法的参数的. public ...

  5. java8之stream流之Collector和Collectors

    Collector Collector是专门用来作为Stream的collect方法的参数的. public interface Stream<T> extends BaseStream& ...

  6. Collector和Collectors

    一.概述 Collector是专门用来作为Stream的collect方法的参数的. public interface Stream<T> extends BaseStream<T, ...

  7. Java8中Collectors的使用

    前言: 基本类型的流没有这个用法 文章目录 averagingDouble,averagingInt,averagingLong collectingAndThen counting grouping ...

  8. Collectors详解

    java8中Collectors的方法: 文章目录 toCollection toList() toSet() toMap joining mapping/flatMapping filtering ...

  9. Java8 Stream之Collectors

    文章目录 toList.toSet toMap toConcurrentMap toCollection joining collectingAndThen groupingBy groupingBy ...

  10. collectors 求和_Java基础系列-Collector和Collectors

    一.概述 Collector是专门用来作为Stream的collect方法的参数的. public interface Stream extends BaseStream> { R collec ...

最新文章

  1. python __init__ __new___Python中的__init__和__new__介绍
  2. IDEA微服务项目的application.yml没有绿色叶子的解决办法
  3. Linux计划任务(at,crontab)
  4. B2B电子商务网站杂谈
  5. DbVisualizer 8 解决中文乱码问题
  6. 各种移动GPU压缩纹理的使用方法
  7. 《纽约时报》:乔布斯是伟大的暴君
  8. php array 删除末尾,PHP array_pop():删除数组末尾的元素
  9. oracle_dblink配置
  10. maven pom.xml文件配置ojdbc7报错解决
  11. 如何在Tomcat中配置二级域名
  12. 计算机词汇 音标,计算机词汇带音标word版本.pdf
  13. STM32——EMWIN 字体(二十)
  14. CSDN博客关联码云,点亮码云的G图标
  15. 对话海尔CEO张瑞敏
  16. sys.path介绍
  17. 十分钟带你认识Node.js
  18. 网络爬虫/数据抓取,反爬虫(更新版)
  19. 清茶一杯-手机、电子阅读器和生活
  20. ODrive应用 #3 odrive_gui入门指南

热门文章

  1. P1541 乌龟棋 线性dp
  2. substring substr slice 区别
  3. ASP.NET自定义控件组件开发
  4. 【eclipse】导入/导出开发环境(包括编辑器字体颜色大小等)
  5. ORACLE功能GREATEST功能说明具体实例
  6. python之optparse模块
  7. 一人身兼多个项目时的“课程表”工作模式实践
  8. Kubernetes详解(二十二)——Deployment控制器
  9. Linux安装Python3详解
  10. MySQL主从同步(四)——M-M架构配置实战