在平时写业务的时候总会遇到获取什么什么分类,下面是我最常用的一种分类树的方法。
分类实体类
类里面的属性自行增加减,但是id、父id、类别名称是必须的!
public class AssetsCategoryInfo implements Serializable {
private Long id;
//名称
private String name;
//父id
private Long pid;
}
首先,创建一个节点对象
类里面的属性自行增加减,但是id、父id、子节点、类别名称是必须的!
public class CategoryNodeVo implements Serializable {
//类别
private Long id;
//类别名称
private String name;
//父id
private Long pId;
//子节点
private List<CategoryNodeVo> children =new ArrayList<>();
public void add(CategoryNodeVo nodeVo){
children.add(nodeVo);
}
}
其次,实现一个TreeUtil工具类
public class TreeUtil {
public <T extends CategoryNodeVo> List<T> buildByRecursive(List<T> nodes, Object root) {
List<T