递归处理无限层级树

    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);
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。