我想在java中表示层次结构。层次结构可以是
形式Key
|
|-Value1
| |-Value11
| |-Value111
|-Value2
| |-Value22
|-Value3
|-Value4
有人能建议我在java中表示这种层次结构的最佳数据结构吗?
答案 0 :(得分:6)
基本上你需要的只是一个可以容纳几个孩子并且你建模属性的结构。你可以用这样的类结构来表示它:
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 tree data-structure?
答案 1 :(得分:5)
看到这个答案:
基本上,标准库中没有提供开箱即用的Tree表示,除了swing包中的JTree。
您可以自己推送(链接答案中提供的一些提示),也可以使用那个实际效果很好的提示。