java中,如何使用列表存储树结构
时间: 2024-05-02 14:17:40 浏览: 7
在Java中,可以使用List来存储树结构。具体实现方法如下:
1. 定义树节点类
```
public class TreeNode {
private int data;
private List<TreeNode> children;
public TreeNode(int data) {
this.data = data;
this.children = new ArrayList<>();
}
public int getData() {
return data;
}
public void setData(int data) {
this.data = data;
}
public List<TreeNode> getChildren() {
return children;
}
public void setChildren(List<TreeNode> children) {
this.children = children;
}
public void addChild(TreeNode child) {
children.add(child);
}
}
```
2. 创建树并添加节点
```
TreeNode root = new TreeNode(1);
TreeNode node2 = new TreeNode(2);
TreeNode node3 = new TreeNode(3);
TreeNode node4 = new TreeNode(4);
TreeNode node5 = new TreeNode(5);
root.addChild(node2);
root.addChild(node3);
node2.addChild(node4);
node2.addChild(node5);
```
3. 遍历树
```
public void traverse(TreeNode node) {
System.out.print(node.getData() + " ");
List<TreeNode> children = node.getChildren();
for (TreeNode child : children) {
traverse(child);
}
}
```
4. 测试
```
traverse(root); // 输出:1 2 4 5 3
```
这样就可以使用列表存储树结构了。