0

input.txt ファイルから単語を取得し、それらを頻度順に並べ替えてから、output.txt ファイルに書き込む必要がある課題があります。

私が抱えている問題は、入力ファイルから各単語の頻度を見つけたら、重複を削除する方法と、それらが出力ファイルに書き込まれないようにする方法がわからないことです。

4

4 に答える 4

0

これが私が使用するロジックです:

  1. 文字列値とカウントを含むクラスを作成します。それを StringVal にしましょう。StringVal の Equals および hashcode メソッドはカウントを使用せず、文字列値のみを使用します。
  2. 次のように HashMap を使用します。Map<StringVal,int> strCount = new HashMap<StringVal,int>();
  3. 次に、文字列の読み取りとマップへの格納を続けます。マップに存在しない場合は追加し、存在する場合はカウントを増やします。[これにより重複が削除されます]
  4. 次に、カウントに基づいて StringVal をソートできるコンパレーターを作成します。

このロジックを使用すると、探しているものを達成できます。

于 2013-04-27T02:20:18.953 に答える
0

各単語をハッシュマップのキーとして使用し、出現ごとに新しいキーまたは整数をインクリメントします。完了したら、for each のキーをループします。

于 2013-04-27T02:24:44.827 に答える
-1

最初にそれらをフィルタリングしてから並べ替えます。配列リストを使用して文字列を保存し、ループを使用して文字列が既に配列リストにあるかどうかを確認し、フィルタリング後にそれらを並べ替えることができます。

于 2013-04-27T02:15:07.723 に答える