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