0

X 個のファイルを取り込み、マルチスレッドを使用して各ファイル内の単語の出現をカウントし、結果をハッシュ マップに保存するプログラムに取り組んでいます。

Map<String, Map<String, Integer>>

上記のようなハッシュ マップを < file_Name < Word 、occurrence > の形式で持っています。マップ全体をテキスト ファイルにエクスポートして保存したいと考えています。

マップ全体を印刷する簡単な解決策はありますか (順序/並べ替えは関係ありません)。

4

3 に答える 3

2

自分でやりたい場合は、次のことができます。

Map<String, Map<String, Integer>> dictionaries = null;

PrintWriter pw = null;

for(Map.Entry<String, Map<String, Integer>> dictionaryEntry : dictionaries.entrySet()) {

    for(Map.Entry<String, Integer>  wordCounts :  dictionaryEntry.getValue().entrySet()) {

        pw.print(dictionaryEntry.getKey() + ", " + wordCounts.getKey() + ", " + wordCounts.getValue());

    }

}

HashMap は Serializable であるため、そのまま使用できます

ObjectOutputStream: http://docs.oracle.com/javase/7/docs/api/java/io/ObjectOutputStream.html

于 2013-11-11T20:03:17.983 に答える