java树形菜单结构--获取当前树下的子树


serviceImpl:

  List<Power> menuTree  = this.buildMenuTree(rootMenu,0);//去找该角色下的菜单下的子菜单,没有就是空


工具类:
  /**
     * 递归查找子菜单
     *
     *            数据表结构(0代表根节点)
     *            Id  FatherId
     *             1   0
     *             2   1
     *             3   2
     *             4   1
     *            menuList 层级树表所有数据
     *            pid 为父级id 也就是当前的 FatherId
     *            Id 为树的id
     *
     *
     * @return
     */
    private List<Power> buildMenuTree(List<Power> menuList, String pid) {
        List<Power> treeList = new ArrayList<>();
        menuList.forEach(menu -> {
            if (Objects.equals(pid, menu.getFatherId())) {
                menu.setSon(buildMenuTree(menuList,menu.getId()));
                treeList.add(menu);
            }
        });
        return treeList;
    }





你可能感兴趣的:(java_Tree)