このケーススタディでは、テキスト内の単語の出現をカウントし、単語とその出現を単語のアルファベット順に表示するプログラムを作成します。プログラムは TreeMap を使用して、単語とその数で構成されるエントリを保存します。各単語について、それがすでにマップ内のキーであるかどうかを確認します。そうでない場合は、単語をキー、値 1 を使用してマップにエントリを追加します。それ以外の場合は、マップ内の単語 (キー) の値を 1 だけ増やします。単語は大文字と小文字が区別されないものとします。たとえば、Good は good と同じように扱われます。
以下のコードは問題の解決策を示します。
a 2
クラス1
楽しい1
良い 3
3 つあります
朝1
訪問 1
プログラムは TreeMap (行 11) を作成して、単語のペアとその出現回数を保存します。言葉が鍵となります。マップ内のすべての値はオブジェクトとして保存する必要があるため、カウントは Integer オブジェクトでラップされます。
プログラムは、String クラスの split メソッド (13 行目) を使用してテキストから単語を抽出します。抽出された各単語について、プログラムはその単語がすでにマップにキーとして格納されているかどうかを確認します (18 行目)。そうでない場合は、単語とその初期カウント (1) で構成される新しいペアがマップに保存されます (19 行目)。それ以外の場合、単語のカウントは 1 ずつ増加します (21 ~ 23 行目)。
プログラムはセット内のマップのエントリを取得し (29 行目)、セットを走査して各エントリのカウントとキーを表示します (32 ~ 33 行目)。
マップはツリーマップのため、単語の昇順に表示されます。出現回数の多い順に表示することもできます。ここで落ち着いて、マップを使用せずにこのプログラムをどのように書くかを考えてください。新しいプログラムはより長く、より複雑になります。マップは、このような問題を解決するための非常に効率的で強力なデータ構造であることがわかります。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3