Java 8中的收集器partitioningBy()方法
该partioningBy()
方法返回一个收集器,该收集器根据谓词对输入元素进行分区,并将它们组织成Map<Boolean,List<T>>。
语法如下。
static <T> Collector<T,?,Map<Boolean,List<T>>> partitioningBy(Predicate<? super T> predicate)
在这里,参数
T-输入元素的类型
谓词-用于组织输入元素
要使用Java中的Collectors类,请导入以下包。
import java.util.stream.Collectors;
以下是partitioningBy()
在Java中实现方法的示例。
示例
import java.util.Map; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; public class Demo { public static void main(String[] args) { Stream<Integer> stream = Stream.of(25, 50, 75, 100, 125, 150); //对于流元素50为true- Map<Boolean, List<Integer>> m = stream.collect(Collectors.partitioningBy(a -> a == 50)); System.out.println("Stream = "+ m); } }
输出结果
Stream = {false=[25, 75, 100, 125, 150], true=[50]}