TreeNode这个类里面有啥属性和方法
时间: 2024-02-04 21:01:41 浏览: 66
`TreeNode` 类通常用于表示树形结构中的节点,它包含以下属性和方法:
属性:
- `id`:节点的唯一标识符。
- `name`:节点的名称。
- `parent`:节点的父节点。
- `children`:节点的子节点。
方法:
- `getId()`:获取节点的 ID。
- `setId(id)`:设置节点的 ID。
- `getName()`:获取节点的名称。
- `setName(name)`:设置节点的名称。
- `getParent()`:获取节点的父节点。
- `setParent(parent)`:设置节点的父节点。
- `getChildren()`:获取节点的子节点。
- `addChild(child)`:添加一个子节点。
- `removeChild(child)`:移除一个子节点。
- `getChildById(id)`:根据 ID 获取一个子节点。
以下是一个示例的 `TreeNode` 类的实现:
```java
public class TreeNode {
private long id;
private String name;
private TreeNode parent;
private List<TreeNode> children;
public TreeNode(long id, String name) {
this.id = id;
this.name = name;
this.children = new ArrayList<>();
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public TreeNode getParent() {
return parent;
}
public void setParent(TreeNode parent) {
this.parent = parent;
}
public List<TreeNode> getChildren() {
return children;
}
public void addChild(TreeNode child) {
child.setParent(this);
children.add(child);
}
public void removeChild(TreeNode child) {
child.setParent(null);
children.remove(child);
}
public TreeNode getChildById(long id) {
for (TreeNode child : children) {
if (child.getId() == id) {
return child;
}
}
return null;
}
}
```
在这个示例中,`TreeNode` 类包含了 ID、名称、父节点和子节点等属性,以及获取和设置这些属性的方法。其中,`addChild()` 方法用于添加一个子节点,`removeChild()` 方法用于移除一个子节点,`getChildById()` 方法用于根据 ID 获取一个子节点。
需要注意的是,这只是一个比较简单的实现方式,具体的实现方式可以根据实际情况进行调整和优化。
阅读全文