TreeSet
Posted zuixinxian
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TreeSet相关的知识,希望对你有一定的参考价值。
TreeSet 类概述
使用元素的自然顺序对元素进行排序
或者根据创建 set 时提供的 Comparator 进行排序
具体取决于使用的构造方法。
TreeSet 是如何保证元素的排序和唯一性的
底层数据结构是红黑树(红黑树是一种自平衡的二叉树)
TreeSet 真正的比较是依赖于元素的 compareTo()方法,而这个方法是定义在 Comparable 接口里面的。
所以,你要想重写该方法,就必须先实现 Comparable 接口。这个接口表示的就是自然排序。
TreeSet 集合的数据结构:
TreeSet:底层是二叉树结构。(红海树是一种自平衡二叉树) 第一个元素存储的时候,直接作为根节点存储。
从第二个元素开始,每个元素从根节点开始比较。
大了 就作为右孩子。
小了 就作为左孩子
相等 就不搭理他
元素是如何取出的?(前序遍历、中序遍历、后序遍历)
从根节点开始,按照左、中、右的原则依次取出元素即可。
以上是关于TreeSet的主要内容,如果未能解决你的问题,请参考以下文章