我们在前台向后台请求数据时可能会希望能得到一个树结构的数据结构,方便我们前台获取和使用,也能使得数据结构清晰,一目了然,树结构一般情况在我遇到的项目中都是某个表的自关联,使用到子父节点的关系,我们一般情况下可能会有这样的需求,获取全部数据或根据父节点获取子节点所有数据,如果我们直接返回数据,会让数据显得很乱,没有层次关系,所以我们需要使用树结构,我们先看一张图了解一下树结构:我这里随便找一张图了解一下即可
我们再看一张自关联的数据库表,最常见的就是地区表的自连接,例如深圳下面有南山区,广州下面有天河区
接下来我们就来写个例子测试一下:一般我们采用两种方式来转换为树:1.循环 2.递归
/**
* @Auther: HeJD
* @Date: 2018/7/6 14:43
* @Description:
*/
import java.util.List;
/**
* Created by Massive on 2016/12/26.
*/
public class TreeNode {
private String id;
private String parentId;
private String name;
private List<TreeNode> children;
public TreeNode(String id, String name, String parentId) {
this.id = id;
this.parentId = parentId;
this.name = name;
}
public TreeNode(String id, String name, TreeNode parent) {
this.id = id;
this.parentId = parent.getId();
this.name = name;
}
public Str