Java TreeSet 是如何实现的

How Java TreeSet are implemented

我想知道 Java 中如何实现 TreeSet。事实上,我想知道,TreeSet 在底层使用平衡树,还是使用数组?

换句话说,当我向我的 treeSet 添加一个元素时,我知道它会被排序,但它会是:

自从我学习数据结构以来已经有一段时间了,所以如果我的问题没有意义或没有得到很好的解释,请告诉我。

谢谢

Java 的 TreeSet 使用 TreeMap,它由 red-black tree. So, mostly the second option, but red-black trees are self-balancing 支持,因此您不会 运行 进入病态的 "linear" 大小写,即使您按 ascending/descending 顺序插入元素。