树形数据的工具类

2022-08-02,

树形数据(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

《树形数据的工具类.doc》

下载本文的Word格式文档,以方便收藏与打印。