链接专用终端流操作可能会被那些用于链接方法调用的人表示,而不是组成收集器工厂调用的“
LISP风格”,更具表达性。但它也允许针对流实现的优化执行策略,因为它知道实际的操作,而不仅仅是看到
Collector抽象。
另一方面,正如您自己命名的那样,
Collector可以组成s,从而允许在不再可能进行流操作的位置执行嵌入到另一个收集器中的这些操作。我想,这种镜像仅在Java
8开发的后期才变得明显,这就是为什么某些操作缺少对应的操作(如
filteringor )的原因,而这些操作
flatMapping仅在Java
9中才存在。因此,让两个不同的API进行相似的操作,不是在开发之初就做出的设计决定。



