Java的TreeSet和TreeMap使用什么样的树?
它们是 AVL 树、红黑树还是其他树?
Are they AVL trees, red-black trees, or something else?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
它们是 AVL 树、红黑树还是其他树?
Are they AVL trees, red-black trees, or something else?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
红黑树如javadoc第一行所述。
Red-black trees as described in the first line of the javadoc.
从
java.util.TreeMap
文档:对于此类问题,您应该首先查阅文档。 API 不应描述
类
的全部内部工作,但通常会记录基本信息,例如所使用的通用数据结构和算法。其他 Java Collections Framework 琐事
这些都是有明确记录的小琐事:
TreeSet
是通过TreeMap
实现的HashSet
是使用HashMap
Collections.sort
使用修改合并排序Map
不是
Collection
ArrayList
未指定确切的增长策略(与Vector
不同)相关问题
java.util.Arrays.sort(Object [])
使用2种排序算法?From the
java.util.TreeMap<K,V>
documentation:For questions like these, you should always first consult the documentation. The API shouldn't describe ALL of the inner-workings of a
class
, but elementary informations such as general data structures and algorithms used are usually documented.Other Java Collections Framework trivias
These are all little trivias that are also clearly documented:
TreeSet
is implemented with aTreeMap
HashSet
is implemented with aHashMap
Collections.sort
uses modified mergesortMap<K,V>
is not aCollection<?>
ArrayList
doesn't specify exact growth policy (unlike, say,Vector
)Related questions
java.util.Arrays.sort(Object[])
use 2 kinds of sorting algorithms?TreeMap Javadoc 的第一句指出:
The first sentence of the TreeMap Javadoc states:
它是 Oracle 桌面 Java 实现中的红黑树,但是 Android 中的 AVL 树。
It is a red-black tree in the Oracle desktop Java implementation, but an AVL-tree in Android.
TreeSet是基于TreeMap的。
他们使用红黑树,红黑树是AVL的一种。
TreeSet is based on TreeMap.
And they uses red-black tree, red-black tree is a kind of AVL.