java 递归查询树状菜单
时间: 2024-06-05 10:05:20 浏览: 18
Java递归查询树状菜单,是一种常见的树形数据结构处理方式。它通常用于展示具有父子关系的数据,例如菜单、部门等等。递归查询树状菜单的方法是,先查询根节点,再递归查询每个节点的子节点,直到遍历完整个树形结构。
以下是一个Java递归查询树状菜单的示例代码:
```
public List<Menu> getMenuList(List<Menu> menuList, String parentId) {
List<Menu> childMenuList = new ArrayList<>();
for (Menu menu : menuList) {
if (menu.getParentId().equals(parentId)) {
childMenuList.add(menu);
}
}
for (Menu menu : childMenuList) {
menu.setChildMenus(getMenuList(menuList, menu.getId()));
}
return childMenuList;
}
```
该方法接收两个参数:menuList表示所有的菜单列表,parentId表示当前查询的节点的父节点ID。方法首先通过遍历整个菜单列表,找到所有的父节点为parentId的菜单,并将它们存入childMenuList中。然后,对于childMenuList中的每一个菜单,递归调用getMenuList方法,找到该菜单的子节点,并将子节点存入该菜单的childMenus中。最后返回childMenuList作为结果。