首页 > 其他分享 >通过一个父级id关系生成树

通过一个父级id关系生成树

时间:2022-10-11 19:11:31浏览次数:35  
标签:node CatalogueAndPage catalogueAndPageTreeList 父级 生成 id new catalogueAndPage sys


    public List<CatalogueAndPage> getAllCatalogueAndPage(String account){
        List<CatalogueAndPage> catalogueAndPageTreeList = new ArrayList<>();
        List<SysMenu> allSysAdminDISTINCTMenu = sysMenuRepository.findAllSysAdminDISTINCTMenu(account);

        for (SysMenu sysMenu:allSysAdminDISTINCTMenu) {
            if(Objects.isNull(sysMenu.getParentId())){
                CatalogueAndPage catalogueAndPage = new CatalogueAndPage();
                BeanUtils.copyProperties(sysMenu,catalogueAndPage);
//                catalogueAndPage.setId(sysMenu.getId());
                catalogueAndPageTreeList.add(catalogueAndPage);
            }else{
                //是不是儿子递归
                getChildren(catalogueAndPageTreeList,sysMenu);
            }
        }
        return catalogueAndPageTreeList;
    }
    public void  getChildren(List<CatalogueAndPage> catalogueAndPageTreeList ,SysMenu sysMenu){
        for (CatalogueAndPage node:catalogueAndPageTreeList) {
            if(node.getChildList() == null){
                node.setChildList(new ArrayList<>());
            }
            if(sysMenu.getParentId().equals(node.getId())){
                //是不是顶级的儿子
                CatalogueAndPage catalogueAndPage = new CatalogueAndPage();
                BeanUtils.copyProperties(sysMenu,catalogueAndPage);
                node.getChildList().add(catalogueAndPage);
            }else if(node.getChildList().size() > 0){
                //是不是顶级儿子的儿子
                getChildren(node.getChildList(), sysMenu);
            }
        }

    }

标签:node,CatalogueAndPage,catalogueAndPageTreeList,父级,生成,id,new,catalogueAndPage,sys
From: https://www.cnblogs.com/Arborblog/p/16780313.html

相关文章

  • idea中,解决maven报红、安装idea教程及idea启动慢的解决办法(从maven角度)
    idea中,解决maven报红解决前提首先要检查maven配置是否正确,有私服、阿里公共仓等,默认国外的会很慢maven仓库实际已经下载了全部依赖但idea依然显示找不到依赖解决方法剪切po......
  • java中如何生成UUID呢?
    转自:​​​  http://www.java265.com/JavaProblem/202110/1361.html​​下文笔者将讲述java代码生成UUID的方法分享,如下所示:UUID简介UUID(UniversallyUniqueIdentifie......
  • IDEA内设置启动参数和环境变量
    1.点击EditConfiguration2、设置页面2.1、属性信息#VMArguments是设置的虚拟机的属性#VMoptions#环境变量参数非虚拟机参数需要指定-D参数-server......
  • Markdown Guide
    title:MarkdownGuide一Summary:Markdownismarkuplanguage.Itsmakeswritingonthewebfastandeasy.Solet'sstart.二Basicsyntax:1:headings<!--......
  • 数据生成大师
    看到的,好多东西!数据生成大师!#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongconstintMAXN=1e6+50;intCase;charc;charnamein[MAXN],......
  • SQL Server生成数据字典
    表信息Select*FROMINFORMATION_SCHEMA.COLUMNSorderbyTable_name;select*fromINFORMATION_SCHEMA.tables数据字典SELECT(casewhena.colorder......
  • 最小生成树prim算法实现
    今天从志权师兄那里学会了最小生成树。所谓生成树,就是n个点之间连成n-1条边的图形。而最小生成树,就是权值(两点间直线的值)之和的最小值。           首先,要用......
  • IDEA翻译插件(Translation)不能用啦?
    不知道大家最近有没有发现,Translation不能用了。因为Google那边的原因,这个插件的接口,访问不通了。我当时本来是打算寻找一些替代品,比如:有道。但是毕竟不是内置的,而且,我......
  • 【框架】IDEA创建SSM框架流程
    创建模块添加全新模块使用模板创建,选择webapp,之后next框架信息→next→finish框架完整化打开创建好的框架,再选择结构点击OK导入jar包以及对应坐标参考:<?x......
  • android开发apk安装失败对应的错误码以及原因
    android开发apk安装失败对应的错误码以及原因代码在PackageManager.java系统类里中文意思可参考:https://www.cnblogs.com/cwfsoft/p/11776094.html/***@hide 未知*......