欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-08 16:37:24
...

#什么是树形结构数据

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

展示在页面上的效果

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

Java代码实现树形结构数据

1.建立树形结构树的展示模型

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

  • 模型中树的属性主要有4个,实际情况可能有所不同,但这4个是必须的。id(树形结构的标识),name(树形节点的介绍),fatherId(父类节点的标识),ListchilNode(子节点)

2.实现逻辑

  •   第一步:新建两个容器,按照注释完成要求
    
  •   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));   
      }
    
  • 第三部:也是最重要的一步,递归状态树形结构数据
    
  • public TreeData getChildNode(List<TreeData> tempList, TreeData fatherTree) {
    
      for (TreeData treeData : tempList) {
          //如果该节点的父id为传进来父节点的id 那么就为其子节点
          if (treeData.getFatherId() == fatherTree.getId()) {
              //添加到子节点数组
              fatherTree.getChildNode().add(treeData);
              //递归调用 继续找该子节点  是否还有子节点
              getChildNode(tempList, treeData);//注意这里
          }
          return fatherTree;
      }
     return fatherTree;}
    

结束

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