首頁 > Java > java教程 > 如何使用 Java 8 Streams 有效地計算重複元素的出現次數?

如何使用 Java 8 Streams 有效地計算重複元素的出現次數?

Mary-Kate Olsen
發布: 2024-11-15 04:29:02
原創
1065 人瀏覽過

How can I use Java 8 Streams to efficiently count occurrences of duplicate elements?

使用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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板