树形组件的简单构建工具方法
package com.fh.common.util;
import com.fh.common.entity.Permission;
import java.util.ArrayList;
import java.util.List;
/**
* @ClassName TreeNodeBuilderUtils
* @Description 树形结构构建
* @Author Serendipity
* @Date 2020/6/19
* @Version 1.0
**/
public class TreeNodeBuilderUtils {
/**
* @Description 构建树形菜单
* @author Serendipity
* @time 2020/6/19
* @param
* @return
*/
public static List<Permission> builderMenu(Integer pid, List<Permission> list){
/* 保存子节点 */
ArrayList<Permission> childList = new ArrayList<>();
for (Permission sysPermission : list) {
/* 传入的父id是否等于自身的,如果是,就说明自己是子节点 */
if(pid.equals(sysPermission.getPid()))
childList.add(sysPermission);
}
/* 遍历子节点,继续递归判断每个子节点是否还含有子节点*/
for(Permission node : childList){
List<Permission> sysPermissions = builderMenu(node.getId(), list);
if (!sysPermissions.isEmpty()){
node.getChildren().addAll(sysPermissions);
}
}
return childList;
}
}
需要表设计拥有上级id存储关系