这个方法在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()方法相关推荐

  1. Spark和Scala当中的collect方法的用法和例子

    [学习笔记] collect: 收集一个弹性分布式数据集的所有元素到一个数组中,这样便于我们观察,毕竟分布式数据集比较抽象.Spark的collect方法,是Action类型的一个算子,会从远程集群拉 ...

  2. java集合提取最小的日期_提取Java集合的元素-Java 8方法

    java集合提取最小的日期 我们都广泛使用了Collection类,例如List,Map及其派生版本. 每次使用它们时,我们都必须遍历它们以找到某个元素或更新这些元素,或者找到匹配某个条件的不同元素. ...

  3. 提取Java集合的元素-Java 8方法

    我们所有人都广泛使用了Collection类,例如List,Map及其派生版本. 每次使用它们时,我们都必须遍历它们以找到某个元素或更新这些元素,或者找到匹配某个条件的不同元素. 考虑如下所示的人员列 ...

  4. Java中 方法引用、Stream流、及方法实例 D190401

    Java中 方法引用.Stream流.及方法实例 D190401 01.第三章:方法引用_什么是方法引用 1).什么是"方法引用":指引用现有的方法代替Lambda表达式--当我们 ...

  5. 关于collect.stream().collect()方法的使用

    ** 关于collect.stream().collect()方法的使用 最近新入职了一家公司,在一个功能的时候,查看源代码逻辑,发现这个地方有点看不懂(可能是我自己太菜),我把这块代码贴出来,供大家 ...

  6. java(九)-方法引用, Stream流,File类 , 递归 ,字节流

    day09[方法引用.Lambda表达式.Stream流] 今日目标 线程状态 等待与唤醒 Lambda表达式 Stream流 教学目标 能够说出线程6个状态的名称 能够理解等待唤醒案例 能够掌握La ...

  7. 零基础全方位学习java的方法

    java技术岗是一个就业率非常高的岗位,因此有很多人都想要学习java技术,其中不乏一些零基础同学,零基础小白都不清楚自己该如何学习java,那么下面小编就为大家详细的介绍一下零基础全方位学习java ...

  8. 几种任务调度的 Java 实现方法与比较

    综观目前的 Web 应用,多数应用都具备任务调度的功能.本文由浅入深介绍了几种任务调度的 Java 实现方法,包括 Timer,Scheduler, Quartz 以及 JCron Tab,并对其优缺 ...

  9. 2021-02-23关于java的方法区,为什么叫方法区,是否与实际用途相悖?

    关于java的方法区,为什么叫方法区,是否与实际用途相悖? 在java中,栈中存放的是用来保存方法运行时状态的栈帧,存储了局部变量表,操作数栈等,而方法区存放的是已加载的类的基本信息.常量.静态变量等 ...

最新文章

  1. Android4.2.2源码目录结构分析
  2. 数据库必会必知 之 SQL四种语言:DDL DML DCL TCL
  3. chrony软件使用说明
  4. Became Jane(成为简.奥斯丁)
  5. LeetCode Notes_#206 Reverse Linked List(C++,Python)
  6. html中右边框出不来,html,为什么右边框会被挡住?
  7. 处理数据集python脚本(处理自己制作的数据集)
  8. 凝胶成像文件行业调研报告 - 市场现状分析与发展前景预测
  9. XML 数据挖掘 之 挖掘 XML 关联规则
  10. 苹果Callkit国内被叫停 微信等应用受到冲击
  11. Visio 2016专业版 激活方式
  12. 【ADS学习笔记(二)——ADS初次仿真】
  13. 金蝶K3 各种单据及各种控制功能表的关系
  14. 前端博站项目中遇到的问题总结
  15. 搭建自己的框架WedeNet(五)
  16. hdu 3987 求割边最少的最小割
  17. go实现零停机重启和代码升级endless
  18. [生存志] 第51节 子产相郑铸刑书
  19. C++如何打开一个exe文件
  20. 苹果itunes下载_苹果正在杀死iTunes,但不是在Windows上

热门文章

  1. 正则表达式——自动填写收货地址
  2. 【ARCGIS矢量化操作相关】
  3. 毕业设计-基于android的智慧校园系统app的设计与实现
  4. windows文件共享
  5. Mycat的简单使用(二)【主从读写】
  6. JFET(结型场效应管)
  7. 计算机发展史专题讨论,专题一-计算机的发展史
  8. PHP JSON格式数据交互实例代码详解_php技巧_脚本之家
  9. Python 字符串练习
  10. UE3 的Config文件夹