gpt4 book ai didi

java - 从java中的嵌套对象列表中按id查找对象

转载 作者:行者123 更新时间:2023-12-02 05:53:26 25 4
gpt4 key购买 nike

我有一个 java bean 类:

class Node{

int id, parentId;
String value;
List<Node> childs;

}

如何在此层次结构中找到父节点并在父节点的子列表中插入子节点。到节点之间的关系定义为:如果 node1.id == node2.parentidnode2 将位于 node1 的子列表中。

这可以是第 N 级层次结构。

最佳答案

为了在该层次结构中找到一个节点,您必须实现一种遍历方法。我建议使用递归方法并采用广度优先或深度优先搜索模式。找到正确的节点后,插入子节点。

例如:

public Node search(Node root, int searchId) {
if (root.id == searchId) {
return root;
} else {
for (Node child : root.childs) {
Node node = search(child, searchId);
if (node != null) {
return node;
}
}
}
return null;
}

public void insert(Node node) {
Node parent = search(root, node.parentId);
if (node != null) {
parent.childs.add(node);
}
}

关于java - 从java中的嵌套对象列表中按id查找对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23332849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com