ホームページ > Java > &#&チュートリアル > Java 8 を使用してリスト内の単語の出現頻度を計算する方法

Java 8 を使用してリスト内の単語の出現頻度を計算する方法

DDD
リリース: 2024-10-30 02:11:29
オリジナル
723 人が閲覧しました

How to Calculate Word Frequencies in a List Using Java 8?

Java 8 での単語の出現頻度のカウント

Java 8 を使用してリスト内の単語の出現頻度をカウントするにはどうすればよいですか?

<code class="java">List<String> wordsList = Lists.newArrayList("hello", "bye", "ciao", "bye", "ciao");</code>
ログイン後にコピー

結果は次のようになります。

<code class="java">{ciao=2, hello=1, bye=2}</code>
ログイン後にコピー

最初は、map およびreduce メソッドを使用することを期待していましたが、実際のメソッドは少し異なります。

<code class="java">Map<String, Long> collect = wordsList.stream()
    .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));</code>
ログイン後にコピー

または整数値の場合:

<code class="java">Map<String, Integer> collect = wordsList.stream()
     .collect(Collectors.groupingBy(Function.identity(), Collectors.summingInt(e -> 1)));</code>
ログイン後にコピー

編集

値でマップを並べ替える方法も追加しました:

<code class="java">LinkedHashMap<String, Long> countByWordSorted = collect.entrySet()
            .stream()
            .sorted(Map.Entry.comparingByValue(Comparator.reverseOrder()))
            .collect(Collectors.toMap(
                    Map.Entry::getKey,
                    Map.Entry::getValue,
                    (v1, v2) -> {
                        throw new IllegalStateException();
                    },
                    LinkedHashMap::new
            ));</code>
ログイン後にコピー

以上がJava 8 を使用してリスト内の単語の出現頻度を計算する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート