java集合递归获取子菜单
时间: 2023-10-14 15:19:08 浏览: 47
您好!针对您的问题,可以使用Java集合进行递归获取子菜单。具体实现可以参考以下代码:
```java
public List<Menu> getChildMenus(List<Menu> menus, Long parentId) {
List<Menu> childMenus = new ArrayList<>();
for (Menu menu : menus) {
if (menu.getParentId().equals(parentId)) {
childMenus.add(menu);
List<Menu> subMenus = getChildMenus(menus, menu.getId());
if (!subMenus.isEmpty()) {
childMenus.addAll(subMenus);
}
}
}
return childMenus;
}
```
这里假设 `Menu` 对象包含 `id` 和 `parentId` 两个属性,表示菜单的唯一标识和父菜单的标识。`getChildMenus` 方法接收一个菜单列表和一个父菜单的标识,返回该父菜单下所有的子菜单列表。
具体实现思路是,遍历菜单列表,找到所有父菜单为指定父菜单的子菜单,并递归调用 `getChildMenus` 方法获取其所有子菜单,最终将子菜单列表合并返回。
希望这个方法能够帮到您,有任何问题欢迎继续咨询!