java将数据库中菜单表中内容转化成一个导航树

Posted 黑子帅帅哒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java将数据库中菜单表中内容转化成一个导航树相关的知识,希望对你有一定的参考价值。

数据库中字段:

menuId   parentMenuId    menuName   link等

首先我们肯定是将所有的菜单从数据库中查到一个List中,下面我们需要对这个数组进行处理,将这个list转化成树的格式

原来的时候处理都很麻烦,需要去做递归操作,类似这种思路

1、找到根菜单

2、根据根菜单的id去查找整个数组中parentId为这个id的对象,放到list中

3、对于根组件的子菜单进行2操作,知道找不到子菜单为止

这样的话需要每次都需要从整个数组中查找,不管某一个是否已经经过处理了。

 

改进点,jdk8中可以通过list的方法做分组操作

stuList.stream().collect(Collectors.groupingBy(Student::getStuName));

list对象                                                        list中对象类型    分组的方法

通过这个方法就可以将一个list转化成键为分组字段,值为分到该组中对象的list  的map类型

这时候你就可以递归起来了,直接找到把那个list往里面插,少了很多代码。

以上是关于java将数据库中菜单表中内容转化成一个导航树的主要内容,如果未能解决你的问题,请参考以下文章

JAVA中生成菜单树结构常用方法总结

JAVA中生成菜单树结构常用方法总结

JAVA中生成菜单树结构常用方法总结

oracle float转化成double

二叉树与链表

vue+element UI实现多级导航菜单