java 如何通过父节点查询所有上级节点,并按倒序排列
时间: 2024-02-02 08:03:01 浏览: 167
Oracle通过递归查询父子兄弟节点方法示例
您可以在原来的基础上稍微修改一下,将查询到的上级节点列表按照倒序排列:
```java
public List<Node> findParentNodesReverse(Long nodeId, List<Node> allNodes) {
List<Node> parentNodes = new ArrayList<>();
for (Node node : allNodes) {
if (node.getId().equals(nodeId)) {
Long parentId = node.getParentId();
if (parentId != null) {
parentNodes.addAll(findParentNodesReverse(parentId, allNodes));
}
parentNodes.add(node);
break;
}
}
Collections.reverse(parentNodes); // 倒序排列
return parentNodes;
}
```
这个方法与之前的方法基本相同,只是在查询到所有上级节点后,使用Collections.reverse方法将其倒序排列。需要注意的是,该方法返回的是List类型,如果您需要返回数组或其他类型,需要根据实际情况进行修改。
阅读全文