Collectors partitioningBy() 方法在 Java 8 中
partitioningBy() 方法返回一个 Collector,用于依据谓词对输入元素进行分区,并将它们组织到 Map<Boolean, List<T>> 中。
语法如下。
static <T> Collector<T,?,Map<Boolean,List<T>>> partitioningBy(Predicate<? super T> predicate)
此处,参数:
T - 输入元素的类型
predicate - 用于组织输入元素
若要使用 Java 中的 Collectors 类,请导入以下包。
import java.util.stream.Collectors;
以下是在 Java 中实现 partitioningBy() 方法的一个示例。
示例
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); // true for stream element 50 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]}
广告