树状结构(MybatisPlus)

树状结构

返回菜单数据需要体现父子菜单的层级关系

1.查询当前用户下的所有菜单数据

@Override
    public List<Menu> selectRouterMenuTreeByUserId(Long id) {
        return buildMenuTree(menuMapper.selectRouterMenuTreeByUserId(id),0L);
    }

2.构建树结构,先过滤出第一层菜单,向第一层菜单里添加子菜单

 private List<Menu> buildMenuTree(List<Menu> menus,Long parentId) {
      //先找出第一层的菜单,然后将子菜单设置到children属性中
        List<Menu> menuTree = menus.stream()
                //过滤出所有菜单里是第一层的菜单,parentId=0L
                .filter(menu -> menu.getParentId().equals(parentId))
                //向当前菜单里添加子菜单
                .map(menu -> menu.setChildren(getChildren(menu, menus)))
                .collect(Collectors.toList());
        return menuTree;
    }

3.获取当前菜单的子菜单集合

 private List<Menu> getChildren(Menu menu, List<Menu> menus) {
        List<Menu> childrenList = menus.stream()
                .filter(m -> m.getParentId().equals(menu.getId()))
                //子菜单的下一级(第三层一般很少用)
                .map(m->m.setChildren(getChildren(m,menus)))
                .collect(Collectors.toList());
        return childrenList;
    }
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在LabVIEW中,树状结构层次是一种用于组织和管理程序的方法。它是基于层次结构的概念,其中一个顶层节点(根节点)包含多个子节点,每个子节点又可以具有自己的子节点,以此类推。这种结构类似于现实世界中的树,根节点是整个结构的起点,而子节点则连接到根节点和其他节点,形成一个分层次的结构。 在LabVIEW中,树状结构层次被广泛用于管理程序的功能和数据。例如,在图形化编程环境中,我们可以使用树状结构层次来组织和管理VI(虚拟仪器)的功能。根节点可以表示整个程序,而子节点可以表示不同的功能块或模块。这样,我们可以通过展开或折叠节点轻松地查看和管理程序的各个部分。 此外,树状结构层次还可以用于管理数据。在LabVIEW中,我们可以使用树状结构层次来组织和管理复杂的数据结构,如集合、数组和数据簇。通过使用树状结构层次,我们可以更方便地对数据进行组织、访问和处理。 总之,LabVIEW中的树状结构层次是一种有助于组织和管理程序功能和数据的方法。通过使用这种结构,我们可以更有效地开发和管理复杂的LabVIEW程序,提高编程的效率和可维护性。 ### 回答2: LabVIEW中的树状结构层次是一种用于组织和管理项目的设计模式。在LabVIEW中,树状结构是由各种文件夹、虚拟文件夹、子VI、控件和其他对象组成的层次结构。 LabVIEW的树状结构层次使得项目的组织更加灵活和清晰。通过将相关的文件和对象组织在一个层级结构中,可以方便地管理和维护项目。例如,可以将具有相似功能的VI放置在同一个文件夹下,并将其作为一个模块来进行调用和重用。这种层次结构使得项目的开发变得更加高效和可维护。 在LabVIEW中,树状结构层次还提供了方便的导航和搜索功能。通过查看树状结构,可以快速找到所需的VI和其他对象,并进行修改和调试。同时,LabVIEW还提供了搜索工具,可以按照文件名、VI名称、标签和其他属性进行搜索,帮助用户更加快速地定位需要的对象。 此外,LabVIEW的树状结构层次还支持版本控制和团队协作。通过将项目文件夹和VI放置在版本控制系统中,可以轻松地跟踪和管理项目的版本和变更历史。同时,团队成员可以根据树状结构层次的组织方式进行任务分配和协作,提高项目的合作效率。 总之,LabVIEW的树状结构层次是一种强大的项目组织和管理工具。它可以帮助用户更好地组织和管理项目文件和对象,并提供方便的导航、搜索和团队协作功能。通过合理利用树状结构层次,可以提高LabVIEW项目的开发效率和质量。 ### 回答3: LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一种用于编写、开发和执行控制、测量和数据采集方法的图形化编程环境。LabVIEW中的树状结构层次是一种用于组织、管理和控制程序元素的方式。 在LabVIEW中,树状结构层次由虚拟仪器(Virtual Instruments,简称VI)和子VI组成。VI是LabVIEW中的基本模块,可以理解为一个自包含的程序单元。根据功能,VI可以分为主VI和子VI。 主VI用于协调和控制系统中的各个子模块,它是程序的核心部分。主VI负责调用和管理各个子VI的执行顺序,对数据进行处理和传递,实现系统的功能。 子VI是由主VI调用的独立功能模块,可以执行某个特定的任务,如数据采集、数据处理、算法实现等。子VI可以根据需要创建多个,并可以在整个程序中被复用。这样可以提高程序的模块化和可重用性,方便对程序进行维护和扩展。 LabVIEW的树状结构层次使得程序的设计和维护更加简单和直观。通过将功能模块按照层次关系组织起来,可以清晰地表达程序的逻辑结构和数据流向。这样,不仅可以提高程序的可读性,也使得程序的修改和调试更加方便和快速。 总之,LabVIEW的树状结构层次是一种有效的组织和管理程序元素的方式,使得程序设计更加模块化、可扩展和易维护。它为LabVIEW用户提供了一种直观和灵活的图形化编程环境,使得控制、测量和数据采集方法的开发变得更加简单和高效。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值