java8 stream

基本类型的流( IntStream等)提供了summaryStatistics( )方法,该方法可用于获取流的多个统计属性(最小值,平均值等)。

假设我们有一个人的名单。 我们的目标是使用信息流获取列表中人员的最小和最大年龄。

这里的问题是最小值和最大值的计算是终端流操作。 因此,我们需要提出自己的归约实现或为每次计算创建一个新的流。 天真的实现可能看起来像这样:

List<Person> list = Arrays.asList(new Person("John Blue", 28),new Person("Anna Brown", 53),new Person("Paul Black", 47)
);int min = list.stream().mapToInt(Person::getAge).min().orElseThrow(NoSuchElementException::new);int max = list.stream().mapToInt(Person::getAge).max().orElseThrow(NoSuchElementException::new);

幸运的是,Java使用summaryStatistics()方法提供了一种更简单的方法:

IntSummaryStatistics statistics = list.stream().mapToInt(Person::getAge).summaryStatistics();int min = statistics.getMin();
int max = statistics.getMax();

IntSummaryStatistics还提供获取流元素的计数和总和的方法。

您可以在GitHub上找到完整的示例代码。

翻译自: https://www.javacodegeeks.com/2018/05/using-java-stream-summary-statistics.html

java8 stream

java8 stream_使用Java Stream摘要统计相关推荐

  1. 使用Java Stream摘要统计

    基本类型的流( IntStream等)提供了summaryStatistics( )方法,该方法可用于获取流的多个统计属性(最小值,平均值等). 假设我们有一个人的名单. 我们的目标是使用信息流获取列 ...

  2. java stream byte_乐字节-Java8新特性之Stream流(上)

    上一篇文章,小乐给大家介绍了<Java8新特性之方法引用>,下面接下来小乐将会给大家介绍Java8新特性之Stream,称之为流,本篇文章为上半部分. 1.什么是流? Java Se中对于 ...

  3. java8 stream reduce 方法用法 java stream reduce 方法使用方法

    java8 stream reduce 方法用法 java stream reduce 方法使用方法 一.背景 在使用Stream的reduce方法时,发现该方法有 3个重载方法,分别是: 一个参数. ...

  4. java iterable stream,java8 转换Iterable 至 Stream

    java8 转换Iterable 至 Stream 本文简要介绍在java8中转换java Iterable对象至Stream,利用Stream执行标准操作. 1.转换Iterable 至 Strea ...

  5. 【java8新特性】——Stream API详解(二)

    一.简介 java8新添加了一个特性:流Stream.Stream让开发者能够以一种声明的方式处理数据源(集合.数组等),它专注于对数据源进行各种高效的聚合操作(aggregate operation ...

  6. Java stream流式计算详解

    Java stream流式计算详解 1. Stream概述 1.1 Stream简介 1.2 Stream分类 2. Stream操作 2.1 Stream创建 2.2 Stream无状态操作 2.3 ...

  7. java stream sql_Java8 Streams流

    自从java8 引入了streams的方略,我就爱不释手,总结下以前开发中用到的情况. 前提把备用java类准备好: 性别用枚举表示 public enum Gender { MALE("男 ...

  8. Java Stream流的使用

    Stream流--Java8新特性之一 用于处理集合,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找.过滤和映射数据等操作. Java Steam的操作是基于集合的.Steam的操作可以分为 ...

  9. [源码解析] 当 Java Stream 遇见 Flink

    [源码解析] 当 Java Stream 遇见 Flink 文章目录 [源码解析] 当 Java Stream 遇见 Flink 0x00 摘要 0x01 领域 1.1 Flink 1.2 Java ...

最新文章

  1. PMP-【第11章 项目风险管理】-2021-2-16(220页-251页)
  2. SpringMvc-Httl-shiro的整合
  3. 存储引擎——概述|| 各种存储引擎的特性(InnoDB||MyISAM||MEMORY||MERGE) ||存储引擎的选择
  4. 继续Bargaining
  5. POJ - 2186 Popular Cows(强连通缩点)
  6. 千年鸿蒙 盼尔来兮是什么意思,鸿蒙是什么意思_鸿蒙的意思和出处_我爱历史网...
  7. (运维日志)在win7安装Oracle并部署Oracle数据库
  8. Element UI自定义表单验证 公共提取
  9. 常见Java开发过程中遇到的问题及其解决办法
  10. python 加快计算速度_python怎么提高计算速度
  11. Voovan网络编程介绍
  12. openCVPracticalExercise学习笔记02
  13. Codeforces 160
  14. ISO9001:2015新版质量管理体系标准时间表
  15. 新浪股票数据接口获取
  16. 相对开音节java_相对开音节是什么
  17. 注意!!!谷歌python技术已流出,经过腾讯T6大佬总结,现在分享给大家(有实例分享)
  18. 在电信物联网平台实现SOTA远程升级
  19. 壹沓科技签约全球快消品牌巨头保乐力加,为企业数智化升级注入新动能
  20. 理解对比表示学习(Contrastive Learning)

热门文章

  1. Dubbo源码解析 --- DIRECTORY和ROUTER
  2. mvc 普通上传, 图片转二进制上传
  3. Java程序设计学习笔记(四)—— GUI
  4. PowerDesigner导出
  5. C#——语言基础 之 运算符!
  6. 反转链表:输入一个链表的头结点,反转该链表并输出反转后的链表的头结点。...
  7. linux c 命令行解析 getopt getopt_long optarg optind opterr optopt 简介
  8. python 报错 TypeError: ‘int‘ object is not subscriptable 解决方法
  9. linux top 报错 TERM environment variable not set.
  10. linux centos7 root密码重置方法