Java 汇总统计,用户希望获取数值流中元素的数量、总和、最小值、最大值以及平均值。使用 IntStream、DoubleStream 或 LongStream 接口定义的 summaryStatistics 方法。基本类型流 IntStream、DoubleStream 与 LongStream 为 Stream 接口引入了用于处理基本数据类型的方法,summaryStatistics 就是其中一种方法。

Java 汇总统计 问题描述

用户希望获取数值流中元素的数量、总和、最小值、最大值以及平均值。

Java 汇总统计 解决方案

使用 IntStream、DoubleStream 或 LongStream 接口定义的 summaryStatistics 方法。

Java 汇总统计 具体实例

基本类型流 IntStream、DoubleStream 与 LongStream 为 Stream 接口引入了用于处理基本数据类型的方法,summaryStatistics 就是其中一种方法,如例 3-42 所示。

例 3-42 summaryStatistics 方法

➊ 使用 toString 方法打印

从 Java 7 开始,可以在数字字面量中使用下划线,如 1_000_000。

执行上述程序,输出结果类似于:

DoubleSummaryStatistics 类定义的 toString 方法返回字符串的表达形式,也提供用于统计元素数量、总和、最小值、最大值以及平均值的 getter 方法(getCount、getSum、getMax、getMin 以及 getAverage)。当 double 型元素的数量达到 100 万时,最小值趋近于 0,最大值趋近于 1,总和约为 50 万,平均值约为 0.5。

DoubleSummaryStatistics 类还定义了以下两个有趣的方法:

accept 方法用于在汇总信息中记录另一个值,而 combine 方法将两个 DoubleSummaryStatistics 对象合二为一。两种方法在计算结果之前,向类的实例添加数据时使用。

我们以运动员薪资跟踪网站 Spotrac 为例进行讨论。本书的源代码包括一个文件,它记录了 2017 赛季美国职棒大联盟(MLB)全部 30 支球队的薪资数据,这些数据均来自 Spotrac。

例 3-43 定义了一个名为 Team 的类,包括 id、name(队名)与 salary(薪资)。

例 3-43 Team 类包括 id、name 与 salary

解析球队工资文件,结果如下:

可以通过两种方式计算球队集合的汇总统计信息。第一种方式采用 collect 方法的三参数形式,如例 3-44 所示。

例 3-44 传入 Supplier、累加器与组合器的 collect 方法

有关这种 collect 方法的讨论请参见范例实现Collector接口。在本例中,collect 方法通过构造函数引用来提供 DoubleSummaryStatistics 的实例,通过 accept 方法将另一个值添加到现有的 DoubleSummaryStatistics 对象,以及通过 combine 方法将两个单独的 DoubleSummaryStatistics 对象合二为一。

输出结果如下(为便于阅读,对结果做了处理):

计算汇总信息的另一种方案请参见范例下游收集器。此时,汇总计算如例 3-45 所示。

例 3-45 使用 summarizingDouble 方法进行收集

其中,Collectors.summarizingDouble 方法的参数是各队的薪资。无论采用哪种方案,结果并无区别。

从本质上讲,汇总统计类是一种“糟糕”的统计方法,因为它们仅能统计数量、最大值、最小值、总和、平均值等属性。然而,如果只需要这些属性,那么 Java 标准库应能满足需要。3

3当然,读者从本范例中还应学到一点:如果有机会参加 MLB 比赛,那么不妨一试,哪怕只有很短的上场时间。赛后再继续学习 Java 吧!

java 统计_Java 汇总统计相关推荐

  1. java 字数_java 字数统计

    输出: Word <Java> appeared 4 times in the paragraph. package cn.CodeSnippet; import org.apache.c ...

  2. java 字数_Java字数统计程序

    我正在尝试制作一个关于字数的程序,我已经部分制作并且它给出了正确的结果但是当我输入空格或字符串中的多个空格时,字数的结果显示错误的结果,因为我在计算单词在使用的空间的基础上.如果有一个解决方案,无论有 ...

  3. 历年软件设计师下午考试试题汇总统计(更新至2016年上半年)

    本文对2006年5月至2016年5月[11年,21次]的软件设计师级别下午试题进行一个简单的汇总统计,希望对准备参加软考的朋友能有所帮助. 从2006年5月开始(尤其是从2010年5月开始),软件设计 ...

  4. oracle pipelined返回值函数 针对数据汇总统计 返回结果集方法

    近期需要一个汇总统计,由于数据太多,数据量太大所以在java程序中实现比较困难.若用后台程序统计,数据不能保证实时,同时实现周期比较长.顾使用函数返回结果集的方式,在不增加临时表的情况下实时获取数据. ...

  5. R语言单变量分析实战:汇总统计(Summary Statistics)、频率表(Frequency Table)、图表(charts: boxplot、histogram、density)

    R语言单变量分析实战:汇总统计(Summary Statistics).频率表(Frequency Table).图表(charts: boxplot.histogram.density) 目录

  6. python计算出nan_python如何进行汇总统计?

    1.前言 在数据分析中,汇总统计是使用频率较高且应用范围最广的一种能力.计算统计的过程中,可以按照不同维度进行,比如可以按列计算,也可以按行计算.并且,在进行计算统计时,缺失值的处理又是极为重要且关键 ...

  7. 客户行为模型 r语言建模_客户行为建模:汇总统计的问题

    客户行为模型 r语言建模 As a Data Scientist, I spend quite a bit of time thinking about Customer Lifetime Value ...

  8. java 无侵入监控_MyPerf4J 一个高性能、无侵入的Java性能监控和统计工具

    MyPerf4J 一个针对高并发.低延迟应用设计的高性能且无侵入的实时Java性能监控和统计工具. 受 perf4j 和 TProfiler启发而来. MyPerf4J具有以下几个特性: 无侵入: 采 ...

  9. SQL的汇总统计SELECT语句

    select Site,sum(case when type='item01' then 1 else 0 end) as item01, sum(case when type=item02' the ...

最新文章

  1. 2022-2028年中国丝印硅胶行业市场深度分析及投资前景趋势报告
  2. 65% 的钱被头部玩家拿走,人工智能要进入下半场?
  3. pytorch 自定义参数不更新
  4. SEO优化中影响网站关键词排名的因素有哪些?
  5. php网站制作商品结算怎么做,一种以让产品、信息快速同步多网站销售并结算的技术的制作方法...
  6. 成员缩写_「gnps,nbcs」是什么意思?00后饭圈缩写你看懂多少
  7. zoj 2526(一道很好的最短路应用题)
  8. SQL Server表竖列转横向显示
  9. 一维数组模拟数据结构-------栈
  10. DNSChanger路由器DNS劫持木马 新版本正在攻击家庭及小企业路由器 企图推送广告...
  11. 用户空间与内核空间数据交换的方式(3)------seq_file
  12. android外接键盘打汉字,外接键盘情况下,安卓打字不如windows
  13. 饿了么高级设计师:界面视觉设计 5 要素
  14. 如何防止恶意点击手机短信验证码
  15. (附源码)springboot宿舍管理系统 毕业设计 161454
  16. cglib之Enhancer
  17. 关于2017年2月雅思考试延长报名截止日期的通知
  18. unity网格变形插件Megafiers简介
  19. 忠告27:拉里。埃里森:学习是贯穿一生的事情
  20. 安卓dialer Phone进程【Telephony框架、TeleService】启动过程

热门文章

  1. redis del 通配符 批量删除 key
  2. 在Eclipse中反编译Class文件的方法
  3. 正直的人就一定吃亏吗?———林格谈创业的智慧与勇气(3)
  4. Windows电脑桌面云便签敬业签日历月视图怎么新增提醒事项?
  5. 如何将U盘作为虚拟光驱使用呢?
  6. 社会网络中的心理学-----社交焦虑症
  7. 放下手机好好过年html,看完这篇让你放下手机,想立刻回家和家人好好过年!...
  8. CIO40知识星球—教学相长(桃李天下)
  9. 《QQ自由幻想》快男不为人知的第一次
  10. 《C++ Primer》读书笔记—第三章 字符串、向量和数组