Java给树加子节点个数统计

通过后台实现

复制代码
private List<Photo> getChildren(Photo photo) {
        List<Photo> children = new ArrayList<>();
        if (!photoList.isEmpty()) {
            photoList.stream().filter(child -> photo.getId().equals(child.getParentId())).forEach(child -> {
                List<Photo> tmp = getChildren(child);
                child.setChildren(tmp);
                if (tmp.isEmpty()) {
                    child.setLeaf(true);
                }
                Boolean leaf = photo.getLeaf();
                Integer parentId = child.getParentId();
                if(leaf == null){
                    Integer childNodes = photoDao.countChildNodes(parentId);
                    if (photo.getText().indexOf("(")==-1) {
                        photo.setText(photo.getText() + "(" + childNodes + ")");
                    }
                }
                children.add(child);
            });
        }
        return children;
    }
复制代码

 

效果如下

 

posted @   Rest探路者  阅读(1979)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
levels of contents
点击右上角即可分享
微信分享提示