上面的两篇博客分析了树和结节各自的处理,下面给出一个查看树型结构的类,通过调用这个类可以看出相应的结点及子结点信息,显示方式经过简单的格式处理形成有层次和缩进的效果。 下面直接放代码:
package com.power.tool.tree.util; import com.ylsoft.power.tool.tree.node.Node; public class TreePrinter<T> { /** * * * * @param args */ public static void main(String[] args) { } static String seprator = " "; /** * * 打印 * * * @param topnode * * @param num */ public void print(Node<T> topnode, int num) { if (topnode == null) { System.out.println("null"); } else { System.out.println(seprator.substring(0, num) + topnode + "|" + topnode.getGrade() + "|" + topnode.getSubLevels()); if (topnode.getChildren() != null) { if (topnode.getChildren().size() > 0) { num += 5; System.out.println(seprator.substring(0, num - 5) + "{"); for (Node<T> n : topnode.getChildren()) { print(n, num); } System.out.println(seprator.substring(0, num - 5) + "}"); } } } } }
效果图: