如何格式化树结构中的数据

时间:2014-05-30 11:23:10

标签: java sorting tree

我正从DB收集一些分层数据。我已经有了数据,但我正在尝试计算如何在树结构中格式化它。我有什么数据:

private void getChildren(String parent) throws SQLException {
    Stack childrenFromDb = getChildrenFromDb(parent);
    while (!childrenFromDb.empty()){
        String pop = String.valueOf(childrenFromDb.pop());
        if (processedKeys.get(pop) != null) continue;
        stringBuilder.append(String.format(String.format("%s\t\t%%s\n", parent), pop));
        processedKeys.put(pop, pop);
        getChildren(pop);
    }
}

所以目前它正在像

这样的表中格式化它
  

ID \吨\ tParentId

我希望获得类似this.

的内容

1 个答案:

答案 0 :(得分:1)

格式化的一种简单方法是在getChildren()函数中添加深度参数。类似的东西:

getChildren(String parent, int depth);

这样你可以使用for循环根据深度添加间距。

另外,getChildren()暗示将返回一个子对象,将函数重命名为printChildren()可能是有益的,因为它更像是它正在做的事情。