除了排序和排序之外,java中的treemap数据结构的优点

时间:2013-06-07 09:08:53

标签: java treemap

除了排序和排序之外,java中 treemap 数据结构的优势是什么? treemap 数据结构如何在内部工作?

2 个答案:

答案 0 :(得分:5)

Treemap的主要优点是它允许以排序顺序存储键值映射。 Treemap内部使用红黑树。

来自javadocs:

  

基于红黑树的NavigableMap实现。地图已排序   根据其键的自然顺序,或由比较器   在地图创建时提供,具体取决于使用的构造函数。

     

此实现提供了保证的log(n)时间成本   containsKey,get,put和remove操作。算法是   在Cormen,Leiserson和Rivest的介绍中进行改编   到算法。

来自Wiki的

红黑树:

  

红黑树是一种自平衡二叉搜索树,a   计算机科学中使用的数据结构。自我平衡是   通过用两种颜色中的一种绘制每个节点来提供(这些是   通常称为“红色”和“黑色”,因此称为树木的名称   这样一种方式,由此产生的彩绘树满足一定的   不允许它变得非常不平衡的属性。   修改树时,随后重新排列新树   重新粉刷以恢复着色属性。属性是   以这种重新排列和重新着色的方式设计   有效地执行。树的平衡并不完美,但它   足以让它保证在O(log n)时间内搜索,   其中n是树中元素的总数。插入,   和删除操作,以及树重新排列和   重新着色也在O(log n)时间内进行。[1]

要了解有关Reb Black树的更多信息,请查看:http://en.wikipedia.org/wiki/Red%E2%80%93black_tree

要详细了解树形图检查:http://docs.oracle.com/javase/6/docs/api/java/util/TreeMap.html

答案 1 :(得分:1)

如果你的意思是TreeMap优于HashMap,那就没有了。事实上,HashMap优于TreeMap - 它更快。至于内部impl,您可以从Oracle站点或从http://sourceforge.net/projects/jdk7src/

下载标准的lib src