用java表示树层次结构

用java表示树层次结构,java,data-structures,tree,treeview,Java,Data Structures,Tree,Treeview,可能重复: 我想用java表示一个层次结构。层次结构可以是以下形式: Key | |-Value1 | |-Value11 | |-Value111 |-Value2 | |-Value22 |-Value3 |-Value4 有人能给我推荐一种最好的数据结构来用java表示这种层次结构吗 基本上,您需要的只是一个可以容纳几个子对象的结构,您可以对属性进行建模。您可以用这样的类结构来表示: public class TreeNode { private Collectio

可能重复:

我想用java表示一个层次结构。层次结构可以是以下形式:

Key
|
|-Value1
|  |-Value11
|    |-Value111
|-Value2
|  |-Value22
|-Value3
|-Value4

有人能给我推荐一种最好的数据结构来用java表示这种层次结构吗

基本上,您需要的只是一个可以容纳几个子对象的结构,您可以对属性进行建模。您可以用这样的类结构来表示:

public class TreeNode {

    private Collection<TreeNode> children;
    private String caption;

    public TreeNode(Collection<TreeNode> children, String caption) {
        super();
        this.children = children;
        this.caption = caption;
    }

    public Collection<TreeNode> getChildren() {
        return children;
    }

    public void setChildren(Collection<TreeNode> children) {
        this.children = children;
    }

    public String getCaption() {
        return caption;
    }

    public void setCaption(String caption) {
        this.caption = caption;
    }

}
您可以在此处查看,以便了解一些想法:

查看以下答案:

基本上,除了swing包中的JTree之外,标准libs中没有提供开箱即用的树表示


你可以自己滚动链接答案中提供的一些技巧,也可以使用这个技巧,实际上效果很好。

-1;看来你什么都没试过。在Google上输入“java树结构”直接指向您可以使用以下API: