美文网首页
递归处理无限层级树

递归处理无限层级树

作者: 飘_摇_ | 来源:发表于2020-05-22 14:32 被阅读0次
    public void createTree(TreeNode node) {
        List<TreeNode> temp = getTreeList(node.getId());
        if (temp.size() > 0) {
            node.setChildren(temp);
            node.setExpanded(true);
            for (TreeNode child : node.getChildren()) {
                createTree(child);
            }
        } else {
            node.setLeaf(true);
            node.setHref('#');
        }
    }

   /**
    *  list为查询出的树集合,定义为全局变量,组装树之前要先查询出节点数据
   */
    public List<TreeNode> getTreeList(String nodeId) {
        List<TreeNode> treeList = new ArrayList<TreeNode>();
        for (int i = 0; i < list.size(); i++) {
            TreeNode node = list.get(i);
            if (node.getParentId().equals(nodeId)) {
                treeList.add(node);
            }
        }
        return treeList;
    }
   TreeNode node = new TreeNode();
   node.setId(1);
   node.setParentId(-1);
   node.setExpanded(true);
   createTree(node);

相关文章

网友评论

      本文标题:递归处理无限层级树

      本文链接:https://www.haomeiwen.com/subject/cvkloctx.html