《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一1.11 下游收集器
1.11 下游收集器
groupingBy方法会产生一个映射表,它的每个值都是一个列表。如果想要以某种方式来处理这些列表,就需要提供一个“下游收集器”。例如,如果想要获得集而不是列表,那么可以使用上一节中看到的Collector.toSet收集器:
注意:在本节的这个示例以及后续示例中,我们认为静态导入java.util.strea
注意:还有3个版本的reducing方法,它们都应用了通用的约简操作,正如1.12节中所描述的一样。
将收集器组合起来是一种很强大的方式,但是它也可能会导致产生非常复杂的表达式。它们的最佳用法是与groupingBy和partitioningBy一起处理“下游的”映射表中的值。否则,应该直接在流上应用诸如map、reduce、count、max或min这样的方法。
程序清单1-6中的示例程序演示了下游收集器。
程序清单1-6 collecting/DownstreamCollectors.java
java.util.stream.Collectors 8