List collection will build a multi-level menu

private List<MenuVO> getNode(List<MenuVO> list, String parentId) {
        List<MenuVO> nodes = list.stream().filter(w -> w.getParentId().equals(parentId)).collect(Collectors.toList());
        for (MenuVO item : nodes) {
            item.setItemList(GetChildrens(list, item));
        }
        return nodes;
    }

    private List<MenuVO> GetChildrens(List<MenuVO> list, MenuVO node) {
        List<MenuVO> childrens = list.stream().filter(w -> w.getParentId().equals(node.getId())).collect(Collectors.toList());
        for (MenuVO item : childrens) {
            item.setItemList(GetChildrens(list, item));
        }
        return childrens;
    }

  

Guess you like

Origin www.cnblogs.com/daixingqing/p/11764393.html