ホームページ  >  記事  >  Java  >  ケーススタディ: 単語の出現

ケーススタディ: 単語の出現

WBOY
WBOYオリジナル
2024-07-18 13:37:39915ブラウズ

このケーススタディでは、テキスト内の単語の出現をカウントし、単語とその出現を単語のアルファベット順に表示するプログラムを作成します。このプログラムは、TreeMap を使用して、単語とその数で構成されるエントリを保存します。各単語について、それがすでにマップ内のキーであるかどうかを確認します。そうでない場合は、単語をキーとして、値を 1 としてマップにエントリを追加します。それ以外の場合は、マップ内の単語 (キー) の値を 1 ずつ増やします。単語は大文字と小文字が区別されないものとします。例: Goodgood と同じように扱われます。

以下のコードは、問題の解決策を示します。

Image description

a 2
クラス1
楽しい1
良い 3
3 つあります
朝1
訪問 1

プログラムは、単語のペアとその出現回数を保存するための TreeMap (行 11) を作成します。言葉が鍵となります。マップ内のすべての値はオブジェクトとして保存する必要があるため、カウントは Integer オブジェクトでラップされます。

プログラムは、String クラスの split メソッド (13 行目) を使用してテキストから単語を抽出します。抽出された各単語について、プログラムはその単語がすでにマップにキーとして保存されているかどうかを確認します (18 行目)。そうでない場合は、単語とその初期カウント (1) で構成される新しいペアがマップに保存されます (19 行目)。それ以外の場合、単語のカウントは 1 ずつ増加します (21 ~ 23 行目)。

プログラムはセット内のマップのエントリを取得し (29 行目)、セットを走査して各エントリのカウントとキーを表示します (32 ~ 33 行目)。

マップはツリーマップなので、単語の昇順に表示されます。出現回数の多い順に表示することもできます。

ここで落ち着いて、マップを使用せずにこのプログラムをどのように書くかを考えてください。新しいプログラムはより長く、より複雑になります。マップは、このような問題を解決するための非常に効率的で強力なデータ構造であることがわかります。

以上がケーススタディ: 単語の出現の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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