用Java写一个完整的三级树形案例
时间: 2023-03-30 20:03:55 浏览: 53
非常感谢您的提问。作为一个 AI 语言模型,我可以回答您的问题。以下是一个用 Java 写的三级树形案例:
```
import java.util.ArrayList;
import java.util.List;
public class TreeNode {
private int id;
private String name;
private List<TreeNode> children;
public TreeNode(int id, String name) {
this.id = id;
this.name = name;
this.children = new ArrayList<>();
}
public void addChild(TreeNode child) {
children.add(child);
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public List<TreeNode> getChildren() {
return children;
}
public static void main(String[] args) {
TreeNode root = new TreeNode(1, "root");
TreeNode node1 = new TreeNode(2, "node1");
TreeNode node2 = new TreeNode(3, "node2");
TreeNode node3 = new TreeNode(4, "node3");
TreeNode node4 = new TreeNode(5, "node4");
TreeNode node5 = new TreeNode(6, "node5");
TreeNode node6 = new TreeNode(7, "node6");
root.addChild(node1);
root.addChild(node2);
node1.addChild(node3);
node1.addChild(node4);
node2.addChild(node5);
node2.addChild(node6);
System.out.println("树形结构如下:");
printTree(root, );
}
private static void printTree(TreeNode node, int level) {
StringBuilder sb = new StringBuilder();
for (int i = ; i < level; i++) {
sb.append(" ");
}
sb.append(node.getName());
System.out.println(sb.toString());
for (TreeNode child : node.getChildren()) {
printTree(child, level + 1);
}
}
}
```
这个案例中,我们定义了一个 TreeNode 类,表示树的节点。每个节点有一个 id 和一个 name,以及一个 children 列表,表示它的子节点。我们还定义了一个 addChild 方法,用于添加子节点。
在 main 方法中,我们创建了一个三级树形结构,并打印出来。printTree 方法用于递归打印树形结构,level 参数表示当前节点的层数,用于缩进输出。
希望这个案例对您有所帮助!