Java collect()方法
这个方法在Stream类里定义
需要结合动态规约理解
三个参数
解析
<R> R collect(Supplier<R> supplier,BiConsumer<R,? super T> accumulator,BiConsumer<R,R> combiner)
supplier:生成用来保存结果的容器
accumulator:处理输入数据,数据会经过它的处理后保存到容器中
combiner:把产生的结果拼接到另一个容器中(用于多线程并行)
返回一个集合
例子
List<String> asList = stringStream.collect(ArrayList::new,ArrayList::add,ArrayList::addAll);String concat = stringStream.collect(StringBuilder::new, StringBuilder::append,StringBuilder::append).toString();
Collector
解析
<R,A> R collect(Collector<? super T,A,R> collector)
Collector把三个参数整合在了里面
例子
注意如果用Collectors.groupingBy(),返回值是Map
//拼接字符串为一个长字符串List<String> asList = stringStream.collect(Collectors.toList());//根据居住城市进行分类Map<String, List<Person>> peopleByCity= personStream.collect(Collectors.groupingBy(Person::getCity));//嵌套分类Map<String, Map<String, List<Person>>> peopleByStateAndCity= personStream.collect(Collectors.groupingBy(Person::getState,Collectors.groupingBy(Person::getCity)));
Java collect()方法相关推荐
- Spark和Scala当中的collect方法的用法和例子
[学习笔记] collect: 收集一个弹性分布式数据集的所有元素到一个数组中,这样便于我们观察,毕竟分布式数据集比较抽象.Spark的collect方法,是Action类型的一个算子,会从远程集群拉 ...
- java集合提取最小的日期_提取Java集合的元素-Java 8方法
java集合提取最小的日期 我们都广泛使用了Collection类,例如List,Map及其派生版本. 每次使用它们时,我们都必须遍历它们以找到某个元素或更新这些元素,或者找到匹配某个条件的不同元素. ...
- 提取Java集合的元素-Java 8方法
我们所有人都广泛使用了Collection类,例如List,Map及其派生版本. 每次使用它们时,我们都必须遍历它们以找到某个元素或更新这些元素,或者找到匹配某个条件的不同元素. 考虑如下所示的人员列 ...
- Java中 方法引用、Stream流、及方法实例 D190401
Java中 方法引用.Stream流.及方法实例 D190401 01.第三章:方法引用_什么是方法引用 1).什么是"方法引用":指引用现有的方法代替Lambda表达式--当我们 ...
- 关于collect.stream().collect()方法的使用
** 关于collect.stream().collect()方法的使用 最近新入职了一家公司,在一个功能的时候,查看源代码逻辑,发现这个地方有点看不懂(可能是我自己太菜),我把这块代码贴出来,供大家 ...
- java(九)-方法引用, Stream流,File类 , 递归 ,字节流
day09[方法引用.Lambda表达式.Stream流] 今日目标 线程状态 等待与唤醒 Lambda表达式 Stream流 教学目标 能够说出线程6个状态的名称 能够理解等待唤醒案例 能够掌握La ...
- 零基础全方位学习java的方法
java技术岗是一个就业率非常高的岗位,因此有很多人都想要学习java技术,其中不乏一些零基础同学,零基础小白都不清楚自己该如何学习java,那么下面小编就为大家详细的介绍一下零基础全方位学习java ...
- 几种任务调度的 Java 实现方法与比较
综观目前的 Web 应用,多数应用都具备任务调度的功能.本文由浅入深介绍了几种任务调度的 Java 实现方法,包括 Timer,Scheduler, Quartz 以及 JCron Tab,并对其优缺 ...
- 2021-02-23关于java的方法区,为什么叫方法区,是否与实际用途相悖?
关于java的方法区,为什么叫方法区,是否与实际用途相悖? 在java中,栈中存放的是用来保存方法运行时状态的栈帧,存储了局部变量表,操作数栈等,而方法区存放的是已加载的类的基本信息.常量.静态变量等 ...
最新文章
- Android4.2.2源码目录结构分析
- 数据库必会必知 之 SQL四种语言:DDL DML DCL TCL
- chrony软件使用说明
- Became Jane(成为简.奥斯丁)
- LeetCode Notes_#206 Reverse Linked List(C++,Python)
- html中右边框出不来,html,为什么右边框会被挡住?
- 处理数据集python脚本(处理自己制作的数据集)
- 凝胶成像文件行业调研报告 - 市场现状分析与发展前景预测
- XML 数据挖掘 之 挖掘 XML 关联规则
- 苹果Callkit国内被叫停 微信等应用受到冲击
- Visio 2016专业版 激活方式
- 【ADS学习笔记(二)——ADS初次仿真】
- 金蝶K3 各种单据及各种控制功能表的关系
- 前端博站项目中遇到的问题总结
- 搭建自己的框架WedeNet(五)
- hdu 3987 求割边最少的最小割
- go实现零停机重启和代码升级endless
- [生存志] 第51节 子产相郑铸刑书
- C++如何打开一个exe文件
- 苹果itunes下载_苹果正在杀死iTunes,但不是在Windows上