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]}

更新于:2019 年 7 月 30 日

2K+ 浏览

kickstart 您的事业

完成课程并获得认证

开始
广告