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往里面插,少了很多代码。

posted @ 2020-01-14 15:43  菜逼黑  阅读(439)  评论(0编辑  收藏  举报