3

Javaで複数のファイル/ドキュメントへの単語の頻度をカウントしたい.

例えば

a1 = {aaa,aaa,aaa,bbb}
a2 = {aaa, aaa, hhh}
a3 = {aaa, hhh, bbb, bbb}

したがって、すべてのファイルの単語頻度をカウントしたいと思います。

for a1 file {aaa = 3, bbb = 1}
for a2 file {aaa = 2, hhh = 1}
for a3 file {aaa = 1, hhh = 1, bbb =2}

から単語を読み取り、fileに格納<wordname, worcount>するメソッドがありますLinkedHashMap。それにもかかわらず、これはすべてのファイルの特定の単語の頻度をカウントしますが、ファイルごとに単語の頻度を個別にカウントしたいと思います。

誰にも解決策はありますか?


それから、私はこれを書きました:

Set mapset = fileToWordCount.keySet();           

for(Object filenameFromMap: mapset){
      System.out.println("FILENAME::"+filenameFromMap);
}

しかし、それは何も印刷しません。

4

2 に答える 2

4

Mapファイル名をLinkedHashMap単語数のあるにマップする別のものを作成できます。したがって、次のようなものになります。

Map<String, LinkedHashMap<String, Integer>> fileToWordCount = new HashMap<String, LinkedHashMap<String, Integer>();

次に、各ファイルに対して、通常どおり単語の頻度を作成し、上記のマップに値を追加します。

fileToWordCount.put(file.getPath(), wordCountMap);
于 2012-11-21T12:27:39.133 に答える