首頁 >Java >java教程 >如何使用流有效地計算 Java 8 中的詞頻?

如何使用流有效地計算 Java 8 中的詞頻?

DDD
DDD原創
2024-11-03 12:33:02613瀏覽

How can I efficiently count word frequencies in Java 8 using streams?

Java 8 中的詞頻計數:一種簡化的方法

在Java 8 中,可以優雅地實現列表中單字的頻率計數使用流。

考慮以下範例清單:List; WordsList = Lists.newArrayList("你好", "再見", "再見", "再見", "再見");.為了計算單字頻率,我們利用Collectors.groupingBy 和Collectors.counting 收集器。

此程式碼首先按字串標識對列表元素進行分組,有效地創建一個映射,其中鍵是唯一的單詞,值是他們的計數。 Collectors.counting 收集器會自動增加每個單字的計數。

產生的映射 wordFrequencies 在列印時將類似於 {ciao=2, hello=1, bye=2}。

或者,對於整數值計數:

此變體使用 Collectors.summingInt 來累積整數計數。

要按值對結果映射進行排序,我們可以連結其他流和收集器:

這種排序可確保最常出現的單字首先出現在地圖中。

以上是如何使用流有效地計算 Java 8 中的詞頻?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn