用java生成树形结构
时间: 2024-05-09 22:20:09 浏览: 161
java生成树型结构
下面是一个简单的 Java 代码示例,用于生成树形结构:
```java
public class Node {
private String name;
private List<Node> children;
public Node(String name) {
this.name = name;
this.children = new ArrayList<>();
}
public void addChild(Node child) {
this.children.add(child);
}
public String getName() {
return name;
}
public List<Node> getChildren() {
return children;
}
}
public class Tree {
private Node root;
public Tree(Node root) {
this.root = root;
}
public void print() {
print(root, 0);
}
private void print(Node node, int level) {
for (int i = 0; i < level; i++) {
System.out.print(" ");
}
System.out.println(node.getName());
for (Node child : node.getChildren()) {
print(child, level + 1);
}
}
}
public class Main {
public static void main(String[] args) {
Node root = new Node("Root");
Node node1 = new Node("Node 1");
Node node2 = new Node("Node 2");
Node node3 = new Node("Node 3");
Node node4 = new Node("Node 4");
Node node5 = new Node("Node 5");
root.addChild(node1);
root.addChild(node2);
node2.addChild(node3);
node2.addChild(node4);
node3.addChild(node5);
Tree tree = new Tree(root);
tree.print();
}
}
```
这个示例中,我们定义了一个 `Node` 类来表示树中的节点,每个节点包含一个名称和一个子节点列表。我们还定义了一个 `Tree` 类来表示整个树,它包含一个根节点。我们使用递归方法打印整个树,每个节点在它的层数上印出两个空格,以形成缩进效果。在 `Main` 类中,我们创建了一个树并打印它。
输出结果如下:
```
Root
Node 1
Node 2
Node 3
Node 5
Node 4
```
阅读全文