使用groupBy 計算Java 8 流中的出現次數
在Java 8 流中,groupBy 方法可讓您根據特定屬性對元素進行分組或值。當與其他收集器結合使用時,例如計數,您可以有效地計算流中重複元素的出現次數。
讓我們考慮一個範例:
List<String> list = Arrays.asList("Hello", "Hello", "World"); Map<String, Long> wordToFrequency = list.stream() .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
在此範例中,我們使用具有以收集器作為參數的重載的收集方法。在收集器內部,我們使用 groupingBy 根據項目的字串值(識別函數)對項目進行分組。然後我們將其與 Collectors.counting() 結合起來,統計每個唯一字串的出現次數。
結果,我們得到一個映射,其中每個鍵都是唯一字串,對應的值是在名單。在這種情況下,地圖將包含:
{Hello=2, World=1}
這種方法非常有效率且易於使用,適合需要根據特定屬性計算流中元素出現次數的各種場景。請記住,您也可以在適當的時候利用 groupingByConcurrent 來提高效能。
以上是如何使用 Java 8 Streams 有效地計算重複元素的出現次數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!