欢迎使用皮肤 Geek|

Aoul

园龄:3年3个月粉丝:0关注:3

Java递归树形结构

private List<ZcprojectFieldDto> buildGeneralTree(List<ZcprojectFieldDto> list) {
        List<ZcprojectFieldDto> result = new ArrayList<>();
        //1. 构建一级节点
        for (ZcprojectFieldDto zcprojectFieldDto : list) {
            if (zcprojectFieldDto.getPId().equals("0")) {
                result.add(zcprojectFieldDto);
            }
        }
 
        // 2、递归获取子节点
        for (ZcprojectFieldDto parent : result) {
            parent = recursiveTree(parent, list);
        }
        return result;
    }
 
    /**
     * 递归
     *
     * @return
     */
    private ZcprojectFieldDto recursiveTree(ZcprojectFieldDto parent, List<ZcprojectFieldDto> list) {
        for (ZcprojectFieldDto zcprojectFieldDto : list) {
            if (Objects.equals(parent.getId(), zcprojectFieldDto.getPId())) {
                zcprojectFieldDto = recursiveTree(zcprojectFieldDto, list);
                parent.getChildren().add(zcprojectFieldDto);
            }
        }
        return parent;
    }

本文作者:Aoul

本文链接:https://www.cnblogs.com/message-hrp/p/15722810.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Aoul  阅读(1554)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起