Stream.map(...) 和 Collectors.mapping(...) 之间有什么区别?
2022-09-03 06:57:22
存在看似与 功能重复的收集器,因此它们可以用作收集器组合器(如 ) 的下游收集器。Stream
groupingBy()
作为一个具体示例,假设您要计算“卖方的交易计数”。你可以做:
Map<Seller, Long> salesBySeller =
txns.stream()
.collect(groupingBy(Txn::getSeller, counting()));
如果没有像 或 这样的收集器,这些类型的查询将更加困难。counting()
mapping()
有很大的不同。流操作可以分为两组:
Stream.map
Stream.flatMap
Stream.filter
Stream.collect
Stream.findFirst
Stream.reduce
请查看流包摘要 javadoc 以获取更多信息。