您为树使用什么Java数据结构/库

时间:2010-07-12 16:25:19

标签: java data-structures tree

我有一个区域层次结构(想想State,District,Taluk等),我需要使用树来表示。我在公共领域看到了一些Tree的实现,但不确定它们有多好以及它们的维护状况。 Apache Collections没有其中一个NOR做谷歌收藏。我想知道你是否有人能指出我在Java中实现一个Tree(带有泛型)。

谢谢,

更新 我正在寻找树数据结构,最好使用泛型实现:经过充分测试。

5 个答案:

答案 0 :(得分:2)

结帐DefaultMutableTreeNode。它不是通用的,但在其他方面似乎符合要求。即使它在javax.swing包中,它也不依赖于任何AWT或Swing类。实际上,源代码实际上有注释// ISSUE: this class depends on nothing in AWT -- move to java.util?

答案 1 :(得分:1)

使用泛型实现树很简单,为什么不自己尝试一下呢?如果您对泛型不熟悉,可以尝试声明一个包含实现接口的元素的树,然后让所有各种区域元素实现该接口。

答案 2 :(得分:1)

你的意思是树小工具还是数据结构树?如果您正在谈论Tree小部件,那么Swing就有了实现。

JTree

答案 3 :(得分:1)

您所描述的更像是文档对象模型(DOM)。通常当人们引用“树”数据结构时,他们谈论的是平衡的二叉树(如红黑树,它确实存在于Java集合库中)。但是这些树只是为了快速有序插入和查找。

无论如何,大多数时候,当人们使用DOM时,他们正在阅读或编写XML,但是没有理由不能将DOM用于您自己的任意分层数据。即使你从未将它持久化为XML。

答案 4 :(得分:1)

这样的http://www.java-tips.org/java-se-tips/java.lang/red-black-tree-implementation-in-java.html会有用吗?

另外,从OpenJDK开始使用java.util.TreeMap源代码怎么样? http://download.java.net/openjdk/jdk7/