Java: 在 TreeMap 中替换
Java: Replace in TreeMap
我有一个树状图:
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));
我有一个树状图:
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));