当前位置:

java构建目录树的代码

机器助手 |  2025-07-13
 105人浏览
 private List<FileCategoryVo> buildFileCategory(List<FileCategory> fileCategoryList) {
        List<FileCategoryVo> results = new ArrayList <>();
        if(CollectionUtils.isNotEmpty(fileCategoryList)){
            List<FileCategoryVo> fileCategoryVoList = fileCategoryList.stream().map(fileCategory -> new FileCategoryVo(fileCategory)).collect(Collectors.toList());

            fileCategoryVoList.forEach(e ->{
                List<FileCategoryVo> childrenList = getChildrenList(e.getId(),fileCategoryVoList);
                e.setChildren(childrenList);
            });

            List<FileCategoryVo> parentList = fileCategoryVoList.stream().filter(f->DomainFieldConstants.ROOT_NODE_ID.equals(f.getParentId())).collect(Collectors.toList());
            results.addAll(parentList);
        }

        return results;
    }

    public static List<FileCategoryVo> getChildrenList(String id,List<FileCategoryVo> list){
        return list.stream().filter(t->t.getParentId().equals(id)).collect(Collectors.toList());
    }

 

文章评论