Java
8流并非旨在支持这种操作。从jdk:
流只能操作一次(调用中间流或终端流操作)。例如,这排除了“分叉”流,其中相同的源提供了两个或多个管道,或同一流的多次遍历。
如果可以将其存储在内存中,则
Collectors.partitioningBy只有两种类型时可以使用,并使用
Map<Boolean,List>。否则使用
Collectors.groupingBy。

Java
8流并非旨在支持这种操作。从jdk:
流只能操作一次(调用中间流或终端流操作)。例如,这排除了“分叉”流,其中相同的源提供了两个或多个管道,或同一流的多次遍历。
如果可以将其存储在内存中,则
Collectors.partitioningBy只有两种类型时可以使用,并使用
Map<Boolean,List>。否则使用
Collectors.groupingBy。