1

私はツリーマップを持っています:

TreeMap<String, Integer> map = new TreeMap<String, Integer>();

たとえば、次のように挿入すると、挿入された単語がカウントされます。

"Hi hello hi"

それは印刷します:

{Hi=2, Hello=1}

に置き換えたいのです",""\n"、Java ライブラリのメソッドがわかりませんでした。これは可能ですか?TreeMap 全体を String に変換することは可能ですか?

4

2 に答える 2

3

にマップを出力する場合System.outは、マップのtoString関数を使用してマップをコンソールに出力します。

次のように、コンマを改行に文字列で置き換えることができます。

String stringRepresentation = map.toString().replace(", ", "\n");

keyただし、マップ内にコンマが含まれている場合、これは問題を引き起こす可能性があります。

または、目的の文字列形式を生成する関数を作成できます。

public String mapToMyString(Map<String, Integer> map) {
    StringBuilder builder = new StringBuilder("{");
    for (Map.Entry<String, Integer> entry : map.entrySet()) {
        builder.append(entry.getKey()).append('=').append(entry.getValue()).append('\n');
    }
    builder.append('}');
    return builder.toString();
}

String stringRepresentation = mapToMyString(map);
于 2015-10-28T09:49:47.273 に答える
2

Guava には便利なメソッドがたくさんあります。Joiner.MapJoiner を見てください。

Joiner.MapJoiner joiner = Joiner.on('\n').withKeyValueSeparator("=");
System.out.println(joiner.join(map));
于 2015-10-28T09:52:40.913 に答える