私は、ASCIIテキストファイルの名前のシーケンスを唯一のコマンドライン引数として受け入れるプログラムを作成しようとしています。ファイルには英語のテキストが含まれています。目標は、すべてのファイルで最も頻繁に使用される20の単語を見つけることです。ここで、各単語はに表示される必要があります。 javaプログラムで使用するファイルで少なくとも1回。私に提案してください
よろしくお願いします
私は、ASCIIテキストファイルの名前のシーケンスを唯一のコマンドライン引数として受け入れるプログラムを作成しようとしています。ファイルには英語のテキストが含まれています。目標は、すべてのファイルで最も頻繁に使用される20の単語を見つけることです。ここで、各単語はに表示される必要があります。 javaプログラムで使用するファイルで少なくとも1回。私に提案してください
よろしくお願いします
キーを単語として、値フィールドにカウンターを使用してマップを作成します。
Map<String, Integer> m = new HashMap<String, Integer>()
単語を見つけるたびに、それがマップ(m.containsKey($ word))であるかどうかを確認します。
存在しない場合は、値1で追加します。存在する場合は、そのキーの値をインクリメントします。
宿題のようですので、残りはわかると思います...
私は個人的にある種のWordCount
クラスから始めます。これには、単語とその出現回数が含まれます。
私はファイルを読み、各単語をMapに配置し、単語をキー入力してWordCountオブジェクトに関連付けました。
ファイルを読んだら、マップの値を取得し、WordCountオブジェクトのcountプロパティを比較できるコンパレータを使用して並べ替えます
これにより、カウント順にソートされたコレクションが得られます