我有一个树形图:
TreeMap<String, Integer> map = new TreeMap<String, Integer>();
它计算输入的单词,例如,如果我插入:
"Hi hello hi"
它打印:
{Hi=2, Hello=1}
我想用 替换它","
,"\n"
但我不理解 Java 库中的方法。这可能吗?是否可以将整个 TreeMap 转换为字符串?
将地图打印到时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);
Guava 有很多有用的方法。看看 Joiner.MapJoiner
Joiner.MapJoiner joiner = Joiner.on('\n').withKeyValueSeparator("=");
System.out.println(joiner.join(map));