gpt4 book ai didi

java - Stream.map(...) 和 Collectors.mapping(...) 有什么区别?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:54:05 24 4
gpt4 key购买 nike

我注意到 Stream 中公开了许多功能显然在 Collectors 中重复,例如 Stream.map(Foo::bar)Collectors.mapping(Foo::bar, ...)Stream.count() Collectors.counting()。这些方法之间有什么区别?有性能差异吗?它们的实现方式是否有所不同,从而影响它们的并行化程度?

最佳答案

Stream 中存在似乎重复功能的收集器,因此它们可以用作收集器组合器(如 groupingBy())的下游收集器

作为一个具体示例,假设您要计算“卖家的交易次数”。你可以这样做:

Map<Seller, Long> salesBySeller = 
txns.stream()
.collect(groupingBy(Txn::getSeller, counting()));

如果没有像 counting()mapping() 这样的收集器,这些类型的查询会困难得多。

关于java - Stream.map(...) 和 Collectors.mapping(...) 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36754065/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com