从Java中的嵌套对象列表中按ID查找对象

克里希纳·康德(Krishna Kant)

我有一个Java bean类:

class Node{

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

}

我如何才能在此层次结构中找到父节点,然后在父节点的子列表中插入一个子节点。间节点的关系被定义为:如果node1.id == node2.parentid那么node2将在子列表node1

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

g

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

例如:

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);
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

R:在深层嵌套列表中按名称查找对象

来自分类Dev

按值在深层嵌套对象中查找对象

来自分类Dev

在列表中查找对象

来自分类Dev

在列表中查找对象

来自分类Dev

Qt:按属性在列表中查找对象

来自分类Dev

如何按属性在python列表中查找对象

来自分类Dev

Java查找对象列表中不包含的对象

来自分类Dev

在数组Ramda中按ID查找对象

来自分类Dev

在Rails 4 App中按ID查找对象

来自分类Dev

在数组数组中按 id 查找对象的索引

来自分类Dev

在NSMutableArray中按名称查找对象

来自分类Dev

从地图内的列表中查找对象

来自分类Dev

从地图内的列表中查找对象

来自分类Dev

如何使用lodash在嵌套的对象数组中查找对象?

来自分类Dev

从 plsql 中的对象列表中查找对象

来自分类Dev

C# 使用对象字段在列表中查找对象

来自分类Dev

如何通过对象数组中的id查找对象?

来自分类Dev

如何通过对象数组中的id查找对象?

来自分类Dev

通过嵌套数组中的match属性查找对象

来自分类Dev

使用流在列表列表中查找对象

来自分类Dev

从列表中查找对象数组中的值

来自分类Dev

如何在pyqt中按名称查找对象?

来自分类Dev

在HTML解析器中按类或ID查找对象

来自分类Dev

如何在Django Rest Framework中按其ID查找对象

来自分类Dev

在复杂对象中查找对象

来自分类Dev

在嵌套对象的数组字段中按ID查找子文档

来自分类Dev

在Java中按字段名称查找对象的值

来自分类Dev

在Python中查找对象内部列表的长度

来自分类Dev

在列表中查找对象并替换其值