栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java collect()方法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java collect()方法

这个方法在Stream类里定义
需要结合动态规约理解

三个参数 解析
 R collect(Supplier supplier,
 			  BiConsumer accumulator,
              BiConsumer combiner)

supplier:生成用来保存结果的容器
accumulator:处理输入数据,数据会经过它的处理后保存到容器中
combiner:把产生的结果拼接到另一个容器中(用于多线程并行)
返回一个集合

例子
     List asList = stringStream.collect(ArrayList::new,
                                                ArrayList::add,
                                                ArrayList::addAll);
                                                
     String concat = stringStream.collect(StringBuilder::new, 
                                          StringBuilder::append,
                                          StringBuilder::append).toString();
Collector 解析
 R collect(Collector collector)

Collector把三个参数整合在了里面

例子

注意如果用Collectors.groupingBy(),返回值是Map

     //拼接字符串为一个长字符串
     List asList = stringStream.collect(Collectors.toList());

	 //根据居住城市进行分类
     Map> peopleByCity
         = personStream.collect(Collectors.groupingBy(Person::getCity));

	 //嵌套分类
     Map>> peopleByStateAndCity
         = personStream.collect(Collectors.groupingBy(Person::getState,
                                                      Collectors.groupingBy(Person::getCity)));
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/821264.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号