Java 中的漂亮打印 HashSet

Jav*_*Tec 4 java hashset jackson

我可以找到更接近这个的问题,但不完全是我想要的。对于许多专家来说,问题可能非常简单:我有一个Hashset包含我自定义的 bean 作为其内容:

Set<TableColumnBean> mySet = new HashSet<TableColumnBean>();
//loop and add values to Hashset
for(String str : tableColumnBeanMap.keySet()){
    mySet.add(new TableColumnBean(tableColumnBeanMap.get(str).getTable, `tableColumnBeanMap.get(str).getColumn))`
}
Run Code Online (Sandbox Code Playgroud)

这里 tableColumnBeanMap 是一个 Map,其中包含类型为 bean 的列表TableColumnBean。TableColumnBean是一个简单的 bean,它有两个属性表和列。在循环结束时,我想漂亮地打印 set 的内容,这对于保留作为调试日志选项很有用。我可以考虑使用 java for 循环和打印内容循环遍历集合。但在其他地方,我使用过Jackson图书馆,如:

new ObjectMapper().writeWithDefaultPrettyPrinter().writeValueAsString(myMap)
Run Code Online (Sandbox Code Playgroud)

这在地图上非常有效。我们有类似的东西也适用于 Sets 吗?(像杰克逊漂亮的印刷品这样的衬里会很好 - 因为它产生非常好的读取输出格式并且也不会使您的代码混乱)。

Ami*_*ory 5

使用Arrays:

import java.util.*;

Arrays.toString(mySet.toArray())
Run Code Online (Sandbox Code Playgroud)

从 的元素创建一个字符串mySet。