树形数据(Java)的返回)## 树形数据
@Component
public class TreeConfig {
public static List<Memu> treeFirst(List<Memu> list) {
//这里的Menu是我自己的实体类,参数只需要菜单id和父id即可,其他元素可任意增添
Map<Integer, Memu> map = new HashMap<>(50);
for (Memu treeNode : list) {
map.put(treeNode.getMenuId(), treeNode);
}
return addChildren(list, map);
}
private static List<Memu> addChildren(List<Memu> list, Map<Integer, Memu> map) {
List<Memu> rootNodes = new ArrayList<>();
for (Memu treeNode : list) {
Memu parentHave = map.get(treeNode.getParentId());
if (StringUtils.isEmpty(parentHave)) {
rootNodes.add(treeNode);
} else {
//当前位置显示实体类中的List元素定义的参数为null,出现空指针异常错误
if(StringUtils.isEmpty( parentHave.getChildList())){
parentHave.setChildList(new ArrayList<Memu>());
parentHave.getChildList().add(treeNode);
}else {
parentHave.getChildList().add(treeNode);
}
}
}
return rootNodes;
}
}
本文地址:https://blog.csdn.net/TigerTonyLoginer/article/details/107389325