JDK8-Java Streams 收集器

摘要:
Collectors类包含许多常见聚合操作的因素,比如累加到集合中、字符串串联、缩减和其他汇总计算,以及创建汇总表。内置收集器收集器行为toList()将元素收集到一个List中。toSet()将元素收集到一个Set中。partitioningBy将元素分为两组:为其保留了提供的预期的组和未保留预期的组。partitioningBy将元素分区,使用指定的下游收集器处理每个分区。mapping将提供的映射函数应用于每个元素,并使用指定的下游收集器进行处理。

Collectors类包含许多常见聚合操作的因素,比如累加到集合中、字符串串联、缩减和其他汇总计算,以及创建汇总表(通过groupingBy())。

内置收集器
收集器行为
toList()将元素收集到一个List中。
toSet()将元素收集到一个Set中。
toCollection(Supplier<Collection>)将元素收集到一个特定类型的Collection中。
toMap(Function<T, K>, Function<T, V>)将元素收集到一个Map中,依据提供的映射函数将元素转换为键值。
summingInt(ToIntFunction<T>)计算将提供的int值映射函数应用于每个元素(以及longdouble版本)的结果的总和。
summarizingInt(ToIntFunction<T>)计算将提供的int值映射函数应用于每个元素(以及longdouble版本)的结果的summinmaxcountaverage
reducing()向元素应用缩减(通常用作下游收集器,比如用于groupingBy)(各种版本)。
partitioningBy(Predicate<T>)将元素分为两组:为其保留了提供的预期的组和未保留预期的组。
partitioningBy(Predicate<T>, Collector)将元素分区,使用指定的下游收集器处理每个分区。
groupingBy(Function<T,U>)将元素分组到一个Map中,其中的键是所提供的应用于流元素的函数,值是共享该键的元素列表。
groupingBy(Function<T,U>, Collector)将元素分组,使用指定的下游收集器来处理与每个组有关联的值。
minBy(BinaryOperator<T>)计算元素的最小值(与maxBy()相同)。
mapping(Function<T,U>, Collector)将提供的映射函数应用于每个元素,并使用指定的下游收集器(通常用作下游收集器本身,比如用于groupingBy)进行处理。
joining()假设元素为String类型,将这些元素联结到一个字符串中(或许使用分隔符、前缀和后缀)。
counting()计算元素数量。(通常用作下游收集器。)

免责声明:文章转载自《JDK8-Java Streams 收集器》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇跟坚哥学QUIC系列:加密和传输握手fs学习笔记之输出格式下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

将txt、csv等文本文件导入Hive

将txt、csv等文本文件导入Hive目录将txt、csv等文本文件导入Hive00.数据在虚拟机外01.启动hadoop、hdfs02.将文件放置在hdfs目录下03.登录hive并进入指定数据库04.根据文件创建表05.执行导入语句00.数据在虚拟机外如果数据在虚拟机内,请跳过此步,直接执行接下来的操作。...

Redis设置Auth认证保护

Redis有一种保护数据安全的身份验证方法。有两种方法可以设置此身份验证。一个是通过配置文件。另一种是直接在Redis客户端命令中设置参数requirepas。首先是在配置文件中查找参数requirepass。这是配置Redis访问密码的参数。由于Redis具有很强的并发能力,并且只使用密码,攻击者可能会在短时间内发送大量密码猜测请求,这很容易被暴力破解。因...

2.页面绘制和引入组件库uView

文本+背景色的形式,而不是横幅图的形式,可以节省未来的工作量。在index.vue中,关于开关的代码:EFGHIJKLMNOPQRSTUWXYZB˃DEFGHIJKLNNOPQRSTUVWXYZEFGHIJKLMNOPQRSTUVWXYZ导出默认值{data(){return{}},onLoad()},方法:{}}。横幅{width:100%;height:...

uniapp打包h5 出现'连接服务器超时,点击屏幕重试'的页面

跟踪以首先找出原因全局组件AsyncErrorNew在中注册。js文件可以自定义。我很快就过去了,所以我添加了一个空白页面,然后在清单中介绍了组件。json文件...

svn文件冲突,树冲突详解

文件冲突当两名或更多开发人员修改了同一个文件中相邻或相同的行时就会发生文件冲突。这个操作会出现一个对话框,列出文件夹下所有有冲突的文件,你可以选择将哪些标记成已解决。因此即使它是树冲突的一部分,却既不能显示冲突的叠加图标也不能通过右键单击来解决冲突。在此案例中,使用冲突编辑对话框中的删除按钮进行清理并将冲突标记为已解决。Foo.c被标记为删除并且产生一个树冲...

windows下如何查看和修改MySQL的端口号

更改为要设置的新端口号。4.在桌面上找到“我的电脑”,右键单击并选择“管理”5.找到“服务和应用程序”并双击6.继续双击“服务”7.在列表中找到“MySQL”,右击并选择“重新启动”8.等待重新启动完成,然后按照我们刚才用来查看MySQL端口号的方法查看更改是否成功。如图所示,3396是我更改的端口号。...