《Java数据结构》树形结构

Posted jssj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《Java数据结构》树形结构相关的知识,希望对你有一定的参考价值。

树形结构是一层次的嵌套结构。 一个树形结构的外层和内层有相似的结构, 所以这种结构多可以递归的表示。经典数据结构中的各种树形图是一种典型的树形结构:一颗树可以简单的表示为根, 左子树, 右子树。 左子树和右子树又有自己的子树。

结构图:

技术图片

一切尽在代码中:

import java.util.ArrayList;
import java.util.List;

public class TreeNode 
    private int age;    // 节点属性,年龄
    private String name;   //节点属性,姓名

    TreeNode proTreeNode;    //上级节点
    List<TreeNode> list = new ArrayList<TreeNode>(); //孩子节点

    public int getAge() 
        return age;
    

    public void setAge(int age) 
        this.age = age;
    

    public String getName() 
        return name;
    

    public void setName(String name) 
        this.name = name;
    

    public TreeNode getProTreeNode() 
        return proTreeNode;
    

    public void setProTreeNode(TreeNode proTreeNode) 
        this.proTreeNode = proTreeNode;
    

    public void addTreeNode(TreeNode treeNode)
        list.add(treeNode);
        treeNode.proTreeNode = this;
    

    public TreeNode getTreeNode(Integer i)
        return list.get(i);
    

    public void removeTreeNode(TreeNode treeNode)
        list.remove(treeNode);
        treeNode.proTreeNode = null;
    

    public String toString()
        return "姓名:"+name+";年龄:"+age+"。";
    
/**
 * 创建一个树结构:
 *
 *           李磊
 *        |         |
 *    韩梅梅       丽丽
 *                   |
 *                 李刚
 */
public class TreeStructure 
    public static void main(String[] args) 
        TreeNode treeNode0 = new TreeNode();
        treeNode0.setAge(11);
        treeNode0.setName("李磊");

        TreeNode treeNode1 = new TreeNode();
        treeNode1.setAge(13);
        treeNode1.setName("韩梅梅");

        TreeNode treeNode2 = new TreeNode();
        treeNode2.setAge(15);
        treeNode2.setName("莉莉");

        TreeNode treeNode3 = new TreeNode();
        treeNode3.setAge(15);
        treeNode3.setName("李刚");

        treeNode0.addTreeNode(treeNode1); //父节点关联孩子节点
        treeNode0.addTreeNode(treeNode2); //父节点关联孩子节点

        treeNode2.addTreeNode(treeNode3); //丽丽节点下挂李刚

        System.out.println(treeNode1);   //打印节点本身
        System.out.println(treeNode2.getTreeNode(0));  //打印树节点
        System.out.println(treeNode1.getProTreeNode());  //打印父接口
    

运行结果:

技术图片

 

以上是关于《Java数据结构》树形结构的主要内容,如果未能解决你的问题,请参考以下文章

java 大数据树形结构

java 递归数据库生成 树形结构问题

如何用Java实现树形结构啊?

如何用java无限级树形结构的构建

如何用java与jsp实现树形结构

用Java实现一个树形结构,并对其进行遍历