建立頻率圖
所述 groupingBy(classifier, downstream)
集電極允許的收集 Stream
元件成 Map
由一組中的每個元素進行分類並執行上劃分在相同組中的元素的下游操作。
這個原則的一個典型例子是使用 Map
來計算 Stream
中元素的出現次數 。在此示例中,分類器只是標識函式,它按原樣返回元素。下游操作使用 counting()
計算相等元素的數量。
Stream.of("apple", "orange", "banana", "apple")
.collect(Collectors.groupingBy(Function.identity(), Collectors.counting()))
.entrySet()
.forEach(System.out::println);
下游操作本身是一個收集器( Collectors.counting()
),它對 String 型別的元素進行操作,並生成 Long
型別的結果。collect
方法呼叫的結果是 Map<String, Long>
。
這將產生以下輸出:
banana = 1
orange = 1
apple = 2