树在Java中的现有实现?

树在Java中的现有实现?,java,tree,Java,Tree,我正在寻找Java纯树数据结构的任何实现(在Java.awt中不是图形化的),最好是通用的 对于泛型树,我希望添加不应排序的元素,并执行如下操作: TreeNode anotherNode = new TreeNode(); node.add(anotherNode); …然后我想遍历节点(这样,当我再次从同一文件加载树时,我可以在文件中保存和保留结构) 任何人都知道存在什么实现或者有任何其他想法来实现这一点吗?首先,在运行时和都是红黑树实现。Scala有一个很好的数据结构。这是一个“通用平衡

我正在寻找Java纯树数据结构的任何实现(在Java.awt中不是图形化的),最好是通用的

对于泛型树,我希望添加不应排序的元素,并执行如下操作:

TreeNode anotherNode = new TreeNode();
node.add(anotherNode);
…然后我想遍历节点(这样,当我再次从同一文件加载树时,我可以在文件中保存和保留结构)

任何人都知道存在什么实现或者有任何其他想法来实现这一点吗?

首先,在运行时和都是红黑树实现。

Scala有一个很好的
数据结构。这是一个“通用平衡树”,它不完全是Java,但很接近,可以作为一个好的模型

很难相信,考虑到基本Java库中有多少,但是没有好的泛型
结构。

您可以使用
javax.swing.Tree
包中定义的。它包含方法
getUserObject()
setUserObject(Object)
,允许您将数据附加到每个树节点。它允许每个父节点具有任意数量的子节点,并提供了以广度优先或深度优先的方式在树上迭代的方法(
breadthfirstumeration()
/
depthFirstEnumeration()


还要注意,尽管驻留在
javax.swing.tree
包中,但该类不包含任何UI代码;它只是
JTree

的底层模型,如果您不想在节点上存储任意Java对象,可以使用。它甚至有自己的序列化格式(我忘了它叫什么:-)。

我缺少什么?您正在寻找
java.util.TreeSet
还是
java.util.TreeMap
?请定义树。大约一年前,我需要一个树实现,但找不到合适的树实现,所以我不得不推出自己的树:/Yes,他们在内部使用树,但自己不是树,在内部使用二叉树实现,因此不会提供OP要求的“通用树”功能。