java递归查询父节点下的子节点信息
时间: 2023-06-05 21:47:36 浏览: 472
Java递归查询父节点下的子节点是一种非常常见的算法,在实际开发中也经常用到。具体实现方法如下:
1.定义一个Node类,表示树的节点。节点包含一个name字段,表示节点名称,和一个List节点,表示子节点列表。
2.定义一个查询方法,该方法接受两个参数,一个是当前节点,一个是待查询的节点名称。在方法中,首先判断当前节点是否为空,如果为空直接返回null,如果不为空,则遍历当前节点的子节点,如果有子节点的名称匹配待查询节点名称,则返回该子节点;如果没有找到,则递归调用该方法,传入每个子节点,继续查找,直到找到为止。
具体代码如下:
public class Node {
private String name;
private List<Node> children;
public Node(String name) {
this.name = name;
this.children = new ArrayList<>();
}
public String getName() {
return name;
}
public List<Node> getChildren() {
return children;
}
// 递归查找子节点
public Node findNode(String nodeName) {
if (this.name.equals(nodeName)) {
return this;
} else {
for (Node child : children) {
Node result = child.findNode(nodeName);
if (result != null) {
return result;
}
}
return null;
}
}
}
在使用时,可以先创建一棵树,然后调用根节点的findNode方法,即可递归查找子节点。实现方法简洁、易懂,适用范围很广。
阅读全文