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; } }