可能重复:
Java 树数据结构?
我想在java中表示一个层次结构。层次结构可以是以下形式
Key
|
|-Value1
| |-Value11
| |-Value111
|-Value2
| |-Value22
|-Value3
|-Value4
谁能建议我用最好的数据结构来表示Java中的这种层次结构?
可能重复:
Java 树数据结构?
我想在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;
}
}
您可以看一下这里,以获取一些想法:Java 树数据结构?
看到这个答案:
基本上,除了 swing 包中的 JTree 之外,标准库中没有任何东西提供开箱即用的树表示。
您可以自己滚动(链接答案中提供了一些提示),也可以使用实际上效果很好的那个。