节点结构树组装

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

 

posted on 2019-07-15 17:10  以启山林  阅读(314)  评论(0编辑  收藏  举报

导航