【发布时间】:2021-11-08 02:16:12
【问题描述】:
我正在尝试打印
TreeMap<String, TreeSet<String>> abbreviations 在 Java 中
我试过了:
if (abbreviations.size() > 0)
abbreviations.forEach((x, y) -> {
System.out.println(String.format("%-7s : %-100s ", x, y));
});
这样打印:
US : [ Unity Status, Unresolved Sample]
VC : [ Value Color, Value Contex, Value Context, Video Conference, Visibility Created, Visit Created, Visits Completed]
但我喜欢不带方括号的打印。
US : Unity Status, Unresolved Sample
VC : Value Color, Value Contex, Value Context, Video Conference, Visibility Created, Visit Created, Visits Completed
接下来我可以尝试什么?
【问题讨论】:
-
请阅读:Why is “Can someone help me?” not an actual question? --- 遍历
Set,手动打印每个条目。 -
Output ArrayList to String without [,] (brackets) appearing 的模糊重复。但是使用
String.join()的好答案远远落后于列表,而这是迄今为止唯一的答案。 -
你可以写
abbreviations.size() > 0而不是! abbreviations.isEmpty(),但是这个预测试完全没有必要。此外,System.out.println(String.format("%-7s : %-100s ", …))是System.out.printf("%-7s : %-100s%n", …))的详细版本。将它与接受的答案结合起来,您的整个代码应该是abbreviations.forEach((x, y) -> System.out.printf("%-7s : %-100s%n", x, String.join(", ", y)));
标签: java collections java-8 java-stream