package **.utils;
import java.util.ArrayList;
import java.util.List;
/**
* @author : wangbin
* @Description: TODO
* @date Date : 2019-7-5 17:02
*/
public class TreeUtils {
public static List<NodeTreeVO> getTree(List<NodeTreeVO> nodeTreeVOList ){
List<NodeTreeVO> nodeList = new ArrayList<NodeTreeVO>();
for (NodeTreeVO node : nodeTreeVOList) {
Long id = node.getId();
if (node.getParentId() == -1) {
node = buildTree(nodeTreeVOList,node);
nodeList.add(node);
}
}
return nodeList;
}
public static NodeTreeVO buildTree(List<NodeTreeVO> list,NodeTreeVO node){
List<NodeTreeVO> children = new ArrayList<NodeTreeVO>();
for(NodeTreeVO item:list){
if(item.getParentId()==node.getId()){
children.add(buildTree(list,item));
}
}
node.setChildrens(children);
return node;
}
}
package **.vo.system;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author : wangbin
* @Description: TODO
* @date Date : 2019-7-5 17:39
*/
@Data
public class NodeTreeVO{
private Long id;
private String name;
private Long parentId;
private List<NodeTreeVO> childrens;
public NodeTreeVO() {
this.id = id;
this.name = name;
this.parentId = parentId;
this.childrens = childrens;
}
}