0

可能重复:
Java 树数据结构?

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

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

谁能建议我用最好的数据结构来表示Java中的这种层次结构?

4

2 回答 2

7

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

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;
    }

}

您可以看一下这里,以获取一些想法:Java 树数据结构?

于 2012-06-26T17:21:11.567 回答
6

看到这个答案:

Java树数据结构?

基本上,除了 swing 包中的 JTree 之外,标准库中没有任何东西提供开箱即用的树表示。

您可以自己滚动(链接答案中提供了一些提示),也可以使用实际上效果很好的那个。

于 2012-06-26T17:22:17.480 回答