ホームページ >Java >&#&チュートリアル >Java で `groupBy` と `Collectors.counting()` を使用してリスト内の単語の出現を数えるにはどうすればよいですか?

Java で `groupBy` と `Collectors.counting()` を使用してリスト内の単語の出現を数えるにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-17 20:56:02465ブラウズ

How to Count Word Occurrences in a List using `groupBy` and `Collectors.counting()` in Java?

groupBy を使用した出現数のカウント

ストリーム内のデータを分類および要約するための 1 つの手法は、groupBy メソッドを利用することです。 groupBy を活用することで、要素をその特性に基づいて分離し、結果として得られるグループに対して操作を実行できます。

特定のシナリオでは、指定されたリスト内の単語の頻度を確認しようとします。効率的なアプローチの 1 つは、groupBy と Collectors.counting() を組み合わせることです。この手法を使用すると、類似した属性を持つオブジェクトをグループ化し、各グループ内の出現数を判断できます。

たとえば、次の入力リストがあるとします。

List<String> list = Arrays.asList("Hello", "Hello", "World");

次のコマンドを使用してマップを取得できます。単語数は次のようになります:

import java.util.*;
import java.util.stream.*;

class Test {
    public static void main(String[] args) {
        Map<String, Long> wordToFrequency = list.stream()
            .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));

        System.out.println(wordToFrequency);
    }
}

結果のマップは次のようになります:

{Hello=2, World=1}

ここで、各キーは一意の単語を表し、対応する値はリスト内での出現数を示します。

以上がJava で `groupBy` と `Collectors.counting()` を使用してリスト内の単語の出現を数えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。