java典中典树状结构查询系统菜单列表无限层,不需要removeall

该方法通过查询所有父菜单和非父菜单,然后进行双重循环比对,当找到非父菜单的父ID等于某父菜单的ID时,将非父菜单作为子菜单添加到父菜单的children中,最终生成树形结构的菜单列表。
摘要由CSDN通过智能技术生成

public List selectMenuList(SysMenu menu, Long userId) {
List menuList = null;
//查询所有父菜单列表
menuList = menuMapper.selectMenuList(menu);
//查询所有非父菜单列表
List parentMenuList = menuMapper.selectParentMenuList(menu);
Long parentId = null;
Long menuId = null;
List sysMenuss = new ArrayList();
for (int a = 0; a < parentMenuList.size(); a++) {
for (int i = 0; i < parentMenuList.size(); i++) {
parentId = parentMenuList.get(a).getParentId();
menuId = parentMenuList.get(i).getMenuId();
if (parentId != null && menuId != null) {
//循环得到每次所有非父菜单的父ID和所有非父菜单的ID相等时
if (parentMenuList.get(a).getParentId().equals(parentMenuList.get(i).getMenuId())) {
//在每次循环都生成一个空List,放入每次得到的子菜单数据
List sysMenus = new ArrayList();
sysMenus.add(parentMenuList.get(a));
//将每次循环得到的子菜单数据放入其父菜单的chi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值