2022-02-25 获取部门上下级(树形)结构

获取树形结构思想方法。

public static List<TpInauditEleOptVo> buildTree(List<TpInauditEleOptVo> list){
        List<TpInauditEleOptVo> vList=new ArrayList<>();

        if(!CollectionUtils.isEmpty(list)){
            for (TpInauditEleOptVo v : list) {
                Long pid = v.getPid();
                //如果是0,说明是最上级节点,直接加入
                if(pid==null || pid.equals(0L)){
                    vList.add(v);
                    continue;
                }
                //为当前节点,查询其父节点,操作父节点
                for (TpInauditEleOptVo parent : list) {
                    Long id = parent.getId();
                    if (pid.equals(id)){
                        parent.setHasChildren(true);
                        parent.getChildren().add(v);
                        //找到了,直接结束该循环
                        break;
                    }
                }
            }

        }
        return vList;
    }

 

posted @ 2022-02-25 15:05  math_lin  阅读(33)  评论(0)    收藏  举报