java8 Collectors收集器的简单方法

均匀分布产生高斯分布 均匀分布产生高斯分布 文章目录均匀分布产生高斯分布简介方法和证明代码效果引用 简介 方法和证明 代码 效果 引用 阅读详情

案例变量:menu为一个菜单列表(list),内含有name(名字)、calories(热量)、type(类型)属性。


1)    toList()                                List<T>                    将流中所有的项目收集到一个List

使用示例:

List<Dish> dishes = menuStream.collect(toList());

2)    toSet()                                Set<T>                    将流中所有项目收集到一个Set,删除重复项

使用示例

Set<Dish> dishes = menuStream.collect(toSet());

3)    toCollection()                     Collection<T>         将流中所有项目收集到给定的供应源创建的集合

使用示例

Collection<Dish> dishes = menuStream.collect(toCollection(),ArrayList::new);

4)    counting()                          Long                        计算流中元素个数

使用示例                   

long howManyDishes = menuStream.collect(counting());

5)    summingInt()                     Integer                    对流中项目的一个整数属性求和

使用示例

int totalCalories = menuStream.collect(sumingInt(Dish::getCalories))

6)    averagingInt()                    Double                    计算流中项目Integer属性的平均值                                            

使用示例

double avgCalories = menuStream.collect(averagingInt(Dish::getCalories));

7)    summarizingInt()               IntSummaryStatistics     收集关于流中项目Integer 属性的统计值,例如最大、最小、总和与平均值

使用示例   

IntSummaryStatistics = menuStream.collect(summarizingInt(Dish::getColories));
8)    join()                                   String                       连接对流中每个项目调用toString方法所生成的字符串

使用示例

String shortMenu = menuStream.map(Dish::getName).collect(joining(","));

9)    maxBy()                               Optional<T>            一个包裹了流中按照给定比较器选出的最大元素的Optional,或如果流为空则为Optional.empty()

使用示例                                       

Optional<Dish>  fattest = menuStream.collect(maxBy(comparingInt(Dish::getCalories)));

10)    minxBy()                           Optional<T>            一个包裹了流中按照给定比较器选出的最x小元素的Optional,或如果流为空则为Optional.empty()

使用示例                                       

Optional<Dish>  fattest = menuStream.collect(minBy(comparingInt(Dish::getCalories)));

11)    reducing()                         归约操作产生的类型        从一个座位累加器的初始值开始,利用BinaryOperator 与流中元素租个结合,从而将流归约为单个值。  

使用示例

int totalCalories = menuStream.collect(reducing(0,Dish::getCalories,Integer::sum));

12)    collectingAndThen()         转换函数返回类型            包裹另一个收集器,对其结果应用转换函数

使用示例

int howManyDishes = menuStream.collect(collectingAndThen(toList(),List::size));

13)    groupingBy()                    Map<K,List<T>>            根据项目的一个属性的值对流中的项目作分组,并将属性值作为结果Map的键

使用示例

Map<Dish.Type,List<Dish>> dishesByType = menuStream.collect(groupingBy(Dish::getType));

14) partitioningBy()                    Map<Boolean,List<Dish>>    根据对流中每个项目应用谓词的结果来对项目进行分区

使用示例

Map<Boolean,List<Dish>> vegetarianDishes = menuStream.collect(partitioningBy(Dish::isVegetarian));


《UDS协议从入门到精通》系列——图解0x34:请求下载 上传下载类服务之0x34-请求下载,图解请求+响应格式,直观易懂,快速上手!! 阅读详情

相关推荐

【MATLAB+VScode】VScode调试MATLAB代码的终极指南

本文详细介绍了在VScode中调试MATLAB代码的完整方案。通过配置MATLAB Engine for Python作为桥梁,实现在VScode中设置断点、单步执行、查看变量等交互式调试功能,有效结合了VScode的现代化编辑体验与MATLAB的强大计算内核,显著提升开发效率。

weixin_29161719的博客 412

对集合根据id去重Java8中stream流的collectingAndThen用法

1.对集合根据id去重 //对集合的结果进行去重 List<User> list = userList.stream() .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(User::getUserId))), ArrayList::new)); System.

Java&Develop的博客 2622

【STM32-DSP库的使用】基于Keil5 + STM32CubeMX + CMSIS-DSP 手动添加、库添加方式

CMSIS-DSP库在工程中应用遇到的所有问题进行归纳终结

洋洋的博客 1万+

Java8 Stream流中的Collectors.collectingAndThen()方法

【代码】Java8 Stream流中的Collectors.collectingAndThen()方法。

weixin_46197296的博客 3286

AUTOSAR R20-11标准下载!

这是公众号的第2篇推文,粉丝数49 Document Search Classic Platform Adaptive Platform Foundation 文档截图 以为会在明天的发布会之后才上线,没想到官网现在就悄悄放出来了。 中国由于网络问题,下载速度比较慢或者会中断。 “阅读原文”提供多种下载方式,可以在线浏览,可以集中下载也可单个文档下载。 如有增减我也会及时在公众号里通知大家,不过我觉得不会变动了。 整理不宜,好东西要分...

Adaptive_AUTOSAR的博客 1891

UE 顶点动画工具 (VAT)

导入模型需要勾选全精度UV。

iesoxj的博客 1644

Java8新特性Stream之Collectors

将流中的数据转成集合类型: 一、将数据收集进一个列表(Stream 转换为 List,允许重复值,有顺序) //1.将数据收集进一个列表(Stream 转换为 List,允许重复值,有顺序) //创建流 Stream<String> language = Stream.of("java", "python", "C++","php","java"); List<String...

sunny潘先生的博客 344

海康工业相机排雷笔记02-像素格式解析

工业相机使用过程记录 02-像素格式解析 通过将相机输出图像裸数据raw格式直接存图查看 一、黑白/Mono 直接使用相机测试图像存图: 图像中各部分灰度分别为:0、36、73、109、146、182、219、255,以灰度73列为例 (1)Mono 8 该列图像数据为十六进制49,十进制为73,那么Mono 8就是每个像素点占8bit,依次排列。 (2)Mono 10 该列图像数据为十六进制2401,由于相机均为小端数据,实际数据应解析为0124,十进制为292=73*4,那么Mono 10格式为每

yonghuming_66的博客 8361

java8 Collectors.collectingAndThen 常用用法

Collectors.collectingAndThen除了排序的,另外两个都直接替换。但是也要熟悉,当遇到需要进一步处理数据,也不知道有更简便的方法的时候,就可以直接用collectingAndThen的方式去写

一路向前 9250

Sonatype nexus3 数据迁移及升级3.71+(迁移到H2数据库)

nexus3旧版本OrientDB升级H2,及整体迁移nexus3数据到其它服务器。

葫芦娃 5557

使用 Python 和蒙特卡罗计算未来股价走势以及历史波动率和隐含波动率

蒙特卡罗模拟等工具使投资者能够洞察一系列潜在的未来。这远离了单纯的猜测,迈向了明智的、数据驱动的决策。

探索人工智能领域 707

java8 stream统计、汇总、多字段分组、多个列汇总统计

java8 stream统计、汇总、多字段分组、多个列汇总统计

weixin_45623983的博客 1万+

CARLA仿真:自定义地图与AI车辆行为编程

CARLA仿真:自定义地图与AI车辆行为编程 ,人工智能,计算机视觉,大模型,AI,本文围绕CARLA仿真平台,介绍了其基础功能与安装方法,详解地图系统,包括预设地图的加载切换及自定义地图的创建、导入与优化。还阐述了AI车辆的创建、属性设置、销毁,以及行为控制,如交通规则遵守、路径规划、复杂行为编程和行为树应用。同时涉及传感器与车辆感知、交通场景构建、自定义地图与AI行为结合应用、高级应用,以及常见问题解决方案和学习资源,为CARLA仿真应用提供全面指导。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 11万+

Java8 使List<Entity>中某个属性相同的实体分组

List<Entity> list; Map<String, List<Entity>> result = list.stream().collect(Collectors.groupingBy(Entity::getXXX));

Felix南南 664

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Stream流的高级玩法

中给大家讲了Stream的前半部分知识——包括对Stream的整体概览及Stream的创建和Stream的转换流操作,并对Stream一些内部优化点做了简明的说明。虽迟但到,今天就来继续给大家更Stream第二部分知识——终结操作,由于这部分的API内容繁多且复杂,所以我单开一篇给大家细细讲讲,我的文章很长,请大家忍耐一下。正式开始之前,我们先来说说聚合方法本身的特性(接下来我将用聚合方法代指终结操作中的方法):聚合方法代表着整个流计算的最终结果,所以它的返回值都不是Stream。

青山猿的博客 648

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

java awt库中定义的类,Java流库详解(java.util.stream)

Java流库(java.util.stream)流提供了一种让我们可以在比集合更高的概念级别上指定计算的数据视图。通过使用流,我们可以说明想要完成什么任务,而不是说明如何去实现它。(这一点受益于lambda表达式)我们将操作的调度留给具体的实现去解决。流大量的用到了lambda表达式(同根生于Java8)之后的篇幅将会说到lambda表达式一、 流的特点流的特点流并不储存元素。这些元素可能存储在底...

weixin_39745345的博客 160

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

java8中的Collectors.groupingBy用法

Collectors.groupingBy根据一个或多个属性对集合中的项目进行分组 数据准备: public Product(Long id, Integer num, BigDecimal price, String name, String category) { this.id = id; this.num = num; this.price = price; this.name =...

兴国-为梦想而战 27万+

【Java8】Java 中的 Stream 流收集器

Java 中 Stream 流用来帮助处理集合,类似于数据库中的操作。在 Stream 接口中,有一个抽象方法collect,你会发现 collect 是一个归约操作(高级规约),就像reduce一样可以接受各种做法作为参数,将流中的元素累积成一个汇总结果。具体的做法可以通过Collector接口来定义。// collect和reduce都是Stream接口中的汇总方法,collect方法接收一个Collector(收集器)作为参数收集器(Collector。

swadian2008的博客 1988

java8中Collectors的方法使用实例

java8中Collectors的方法: toCollection toList toSet toMap joining mapping/flatMapping filtering collectingAndThen counting minBy maxBy summingInt/summingLong/summingDouble averagingInt/averagingLong/avera...

兴国-为梦想而战 1万+

java8中 Collectors.groupingBy用法

Collectors.groupingBy根据一个或多个属性对集合中的项目进行分组 1、数据准备: public Product(Long id, Integer num, BigDecimal price, String name, String category) { this.id = id; this.num = num; this.price = price; this.name = name; this.category = category; } ...

weixin_40482816的博客 2万+

java8实战之四Collectors收集器

Collectors收集器 总结 collect是一个终端操作,它接受的参数是将流中元素累积到汇总结果的各种方式(称为收集器)。 预定义收集器包括将流元素归约和汇总到一个值,例如计算最小值、最大值或ࣰ均值。 预定义收集器可以用groupingBy对流中元素进行分组,或用partitioningBy进行分区。 收集器可以高效地复合起来,进行多级分组、分区和归约。 归约和汇总 summingInt、.averagingInt、summarizing import static java.util.strea

sucre_smile的博客 1434

java8 stream使用笔记、静态方法引用、collectors

java8 stream使用笔记

enthan809882的博客 1万+

介绍 Java 8 Collectors 类

介绍 Java 8 Collectors 类 本文我们探讨Java 8 Collectors 类,其一般用于流处理中的最后一步。 Stream.collect() 方法 Stream.collect() 是java 8 stream api中的终止方法。它实现对流实例中保存的数据元素执行可变的折叠操作(将元素重新包装至特定的数据结构中,并应用一些额外逻辑将它们连接起来,等等)。此操作的策略由Col...

neweastsun的专栏 6587

Java 8实战(九)- Collectors收集器

Java 8实战(九)- Collectors收集器

及时当勉励,岁月不待人 2935

【Java 8系列】收集器Collector与工具类Collectors

热门系列: 【Java 8系列】Java日期时间的新主宰者:LocalDate、LocalTime、LocalDateTime、ZonedDateTime 【Java 8系列】Stream详解,看这一篇就够啦 【Java 8系列】Lambda 表达式,一看就废 【Java 8系列】Java开发者的判空利器 -- Optional 程序人生,精彩抢先看 1.前言 好久没有输出啦。今天接着前面说到的Java8系列,聊一聊最后的收集器:Collecto..

Yangy的博客 5367

Java8的 Stream 之Collectors收集器

Stream 的核心在于Collectors,即对处理后的数据进行收集。Collectors 提供了非常多且强大的API,可以将最终的数据收集成List、Set、Map,甚至是更复杂的结构(这三者的嵌套组合)。 Collectors 提供了很多API,有很多都是一些函数的重载,这里我个人将其分为三大类,如下: 数据收集:set、map、list 聚合归约:统计、求和、最值、平均、字符串拼接、规约 前后处理:分区、分组、自定义操作 API 使用 这里会讲到一些常用API 的用

小逹的博客 3720
上一篇: Java的两个类 InetAddress类 和 URL 类
下一篇: mysql 慢查询日志开启与mysqldumpslow分析
Mark_XC
博客等级 码龄9年 16粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值