【发布时间】:2014-06-27 02:53:33
【问题描述】:
我想实现一个树形结构。树中的每个节点都包含我选择的对象,以及到每个孩子(可能还有父母)的链接。我想知道Java中是否存在类似的东西,例如:
T randomObject = new randomObject();
Node<T> root;
root.setObject(randomObject);
root.addChild( ...
....
root.getFirstChild().getObject().getObjectProperty();
我研究了 Node 结构 (org.w3c.dom.Node),但它似乎无法存储对象,而且似乎更适合解析文档。
我还研究了诸如 DefaultMutableTreeNode、MutableTreeNode 和 TreeNode 之类的东西,但我无法找到明确的使用示例。我在这些方面遇到了很多问题。例如,当将 DefaultMutableTreeNode 作为参数传递时(似乎不起作用),或者在获取 DefaultMutableTreeNode 的子节点时,它似乎只返回一个 TreeNode,而我显然已将 DefaultMutableTreeNode 添加为子节点。
我是 Java 新手,所以任何信息都会非常有帮助。 Oracle 文档没有那么有用。我使用过 Vector 结构,它非常易于使用,可以存储对象并且易于访问,并且想知道是否存在类似的东西。谢谢。
【问题讨论】:
-
嗯,
TreeMap是一张由红黑树支持的地图。您到底要构建什么样的树? -
据我所知,Java 并没有以这种方式预先实现树数据结构。然而,网上有很多好的,而且很容易制作或修改网上找到的。查看“java 树实现”的 Google 结果:google.com/…