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 @ 2017-10-26 11:38  Rest探路者  阅读(1975)  评论(0编辑  收藏  举报
levels of contents