根据子类查询父类

1.如果改子类有父类,则把父类加入子类的父ID中

private static List breadthParentFirst(List rootTree) {
        if (CollectionUtils.isEmpty(rootTree)) {
            return Lists.newArrayList();
        }
        List mentVoList=Lists.newArrayList();
        rootTree.forEach((root) -> {
            Queue queue = new LinkedList();
            queue.offer(root);
            while (!queue.isEmpty()){
                MentVo  tree = (MentVo) queue.poll();
                List parent = tree.getParent();
                if (!CollectionUtils.isEmpty(parent)) {
                    Iterator var5 = parent.iterator();
                    while (var5.hasNext()) {
                        MentVo child = (MentVo) var5.next();
                        queue.offer(child);
                    }
                }
                mentVoList.add(tree);
            }
        });
        return mentVoList;
}

2.如果父类id不为空,则查询该子类的父类。

Map> addListMap = departmentList.stream()
                .filter(depart -> Objects.nonNull(depart.getId())).collect(Collectors.groupingBy(MentVo::getId));
        departmentList.forEach((item) -> {
            if (!CollectionUtils.isEmpty(addListMap.get(item.getParentid()))) {
                item.setParent(addListMap.get(item.getParentid()));
            }
        });
        departmentList.forEach((item) -> {
            item.setLevel(breadthParentFirst(item.getParent()).size());
        });
        departmentList = departmentList.stream().sorted((x, y) -> {
            return x.getLevel().compareTo(y.getLevel());
        }).collect(Collectors.toList());

Original: https://www.cnblogs.com/eternality/p/16688343.html
Author: 逆梦
Title: 根据子类查询父类

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/622072/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 自写自查CPU过高问题

    自写自查CPU过高问题 自写自查CPU过高问题 1、问题 2、制造问题(通过docker方式) 2.1、准备文件内容 2.2、构建镜像 3、排查问题 4、定位问题 5、解决问题 6…

    Java 2023年6月7日
    094
  • SpringBoot集成thymeleaf模板

    1.在pom文件添加: org.springframework.boot spring-boot-starter-thymeleaf2.在html页面的头部添加 3.在java C…

    Java 2023年6月14日
    069
  • CDH6.3.2升级Hive到4.0.0

    升级目的:为上层开发,提供统一元数据服务并能通过hive操作kudu表,kylin可以通过hive对在kudu中的数据做分析 面临问题:hive4.0之前hive没有KuduSto…

    Java 2023年6月6日
    086
  • 前端(DOM、BOM和事件) 4

    js包含ECMAScript、DOM、BOM。BOM(browser object model)浏览器对象模型,使js获得了操纵浏览器的能力。DOM(document object…

    Java 2023年6月5日
    097
  • MySQL基础

    DQL 查询完整语法 select 字段列表 from 表名列表 where 条件列表 group by 分组字段 having 分组后条件 order by 排序字段 limit…

    Java 2023年6月14日
    086
  • mybatis-plus自动填充字段 MetaObjectHandler

    给实体类需要自动填充的字段添加注解 注解中的fill属性表示字段填充标记,配合自动填充使用。fill对应的值:DEFAULT : 默认不处理INSERT :插入操作时进行填充字段U…

    Java 2023年6月9日
    070
  • Java设计模式之(九)——门面模式

    Provide a unified interface to a set of interfaces in a subsystem.Facade defines a higher-…

    Java 2023年5月29日
    077
  • 【力扣】1310. 子数组异或查询

    有一个正整数数组 arr,现给你一个对应的查询数组 queries,其中 queries[i] = [Li, Ri]。 对于每个查询 i,请你计算从 Li 到 Ri 的 XOR 值…

    Java 2023年6月8日
    075
  • 基于crudapi增删改查接口后端Java SDK二次开发之环境搭建(一)

    基于crudapi后端Java SDK二次开发之环境搭建(一) 背景 目前crudapi增删改查接口系统的后台Java API服务已经全部可用,为了满足复杂的场景,可以通过集成Ja…

    Java 2023年6月6日
    084
  • VM虚拟机使用主机shadowsocks代理上网

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Java 2023年5月30日
    086
  • docker:打包node+npm+pm2运行环境镜像

    最近公司有一个外包项目需要在不能连外网的情况下部署node项目到甲方公司内部。直接使用node官网的安装包可以获得node运行环境,但像pm2这种工具要离线装就会比较费劲,所以最终…

    Java 2023年6月5日
    079
  • Typora中Markdown学习

    可以自己设置标题级数,且各标题之间可在大纲处看到鲜明的层级关系,非常方便清楚。 “#”——一级标题 “##”——二级标题 &#822…

    Java 2023年6月5日
    0212
  • 方法习题记录

    1、1的阶乘到20的阶乘之和 /** * 1的阶乘到20的&#…

    Java 2023年6月6日
    075
  • SSM-依赖注入

    Day2 Bean的依赖注入 依赖注入 Dependency injection :他是Spring核心框架IOC的具体实现。依赖注入方式 set方法 public void se…

    Java 2023年6月5日
    0100
  • idea 运行 tyarn 命令提示系统禁止运行脚本

    无法加载文件D:……….(报错信息。。。),因为在此系统上禁止运行脚本,有关详细信息,请参阅 https:/go.microsoft.com/f…

    Java 2023年6月15日
    094
  • 70.刺

    dsfsd posted @2022-09-28 08:47 随遇而安== 阅读(7 ) 评论() 编辑 Original: https://www.cnblogs.com/55z…

    Java 2023年6月7日
    076
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球