Java树形结构介绍以及Java生成树形结构数据的样例代码

1、什么是树形结构数据在这里插入图片描述

在我们的项目中,前台作为页面的展示区域,可能需要你返回一些具有层级关系的数据,进行页面展示,如1.1所示。

1.1、展示在页面上的效果

这里是很简单的二级树的效果

2、Java实现树形结构数据

2.1、树对象

tree的domain
树对象的属性主要有四个(实际情况可能有所不同)。

  • id(节点id)
  • name(节点名称)
  • fatherId(父节点id)
  • List<树对象>chilNode(子节点数据)

2.2、示例代码

实现的代码如下,每一步都有注释,大家可以进行参考。

 piblic  List<TreeData> getTree(){
  // 储存所有的子节点的数据
  List<TreeData> tempList = new ArrayList<>(); 
  // 储存最顶级父节点的数据    
  List<TreeData> resultList = new ArrayList<>(); 
        
  //循环顶级父节点数据,目的是在每一个父级树节点中装填对应的子节点数据
  List<TreeData> data_tree = new ArrayList<TreeData>();   
  // 递归装填数据
 for (TreeData treeData : resultList) {    
         data_tree.add(getChildNode(tempList, treeData));   
      }
}

private TreeData getChildNode(List<TreeData> tempList, TreeData fatherTree) {
        for (TreeData treeData : tempList) {
            if (treeData.getFatherId() == fatherTree.getId()) {
                fatherTree.getChildNode().add(treeData);                             
                getChildNode(tempList, treeData);//注意这里
             }
            return fatherTree;
        }
       return fatherTree;}

基础的实现思路如上(实际情况结合业务代码后可能会扫许的复杂),当然也有更加简洁的实现方式(jdk1.8后用Lambda表达式几行就实现了,网上有很多例子,但实现思路是不变的)。

3、结束

一个人走的快,一群人走的远,一起学习,一起进步。

  • 18
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值