java获取id的所有父级
时间: 2023-09-12 10:07:49 浏览: 91
在 Java 中,可以通过递归获取一个节点的所有父级节点,具体实现如下:
首先,我们需要定义一个节点类,来表示树结构中的一个节点,其中包含节点的 id 和父节点的引用:
```
public class TreeNode {
private int id;
private TreeNode parent;
public TreeNode(int id, TreeNode parent) {
this.id = id;
this.parent = parent;
}
public int getId() {
return id;
}
public TreeNode getParent() {
return parent;
}
}
```
接下来,我们可以定义一个方法,来递归获取节点的所有父级节点:
```
public List<TreeNode> getAllParents(TreeNode node) {
List<TreeNode> parents = new ArrayList<>();
TreeNode parent = node.getParent();
while (parent != null) {
parents.add(parent);
parent = parent.getParent();
}
return parents;
}
```
这个方法接收一个节点作为参数,返回一个包含该节点所有父级节点的列表。具体实现是通过 while 循环不断向上遍历父级节点,将每个父级节点添加到列表中,直到遍历到根节点(即父节点为 null)为止。
注意,这个方法的实现需要保证节点之间的关系是正确的,即每个节点的父节点引用都指向正确的父节点。