栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

java8流映射在这里做什么?

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

java8流映射在这里做什么?

strings.stream().map(s->map.put(s, s));

什么都不做,因为在执行终端操作之前不会处理流管道。因此,

Map
残留物为空。

在流管道中添加终端操作将导致

map.put(s,s)
针对
Stream
终端操作所需的每个元素执行操作(某些终端操作仅需要一个元素,而其他终端操作则需要的所有元素
Stream
)。

另一方面,第二个流管道:

strings.stream().forEach(s->map.put(s, s));

以终端操作-结束,该操作

forEach
对的每个元素执行
Stream

也就是说,两个摘要都滥用

Stream
s。为了根据的内容填充a
Collection
或a ,您应该使用,可以创建a 或a
并根据需要填充它。并有不同的目的。
Map``Stream``collect()``Map``Collection``forEach``map

例如,创建一个

Map

List<String> strings = Lists.newArrayList("1", "2");Map<String, String> map = strings.stream().collect(Collectors.toMap(Function.identity(),    Function.identity()));System.out.println(map);


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/446627.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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