获取全部菜单信息集合和单独的一级菜单集合 套用下边代码就可以实现
实现类
@Data
public class MenuTree {
private String id;
private String treeName;
private String type;
private String isIndex;
private String parentId;
private List<MenuTree> childList;
}
/**
* 递归封装
* @param menuList 全部菜单集合
* @param parentList 一级菜单集合
* @return
*/
private List<MenuTree> getMenuTree(List<MenuTree> menuList,List<MenuTree> parentList){
for (MenuTree menuTree : parentList) {
List<MenuTree> twoLevelMenuTree = menuList.stream()
.filter(s -> Objects.equals(s.getParentId(), menuTree.getId()))
.collect(Collectors.toList());
if (twoLevelMenuTree.size()>0){
menuTree.setChildList(twoLevelMenuTree);
getMenuTree(menuList,twoLevelMenuTree);
}
}
return parentList;
}