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 您的事業

完成課程並獲得認證

開始
廣告
© . All rights reserved.