底层数据结构是二叉树。
根据比较的返回值是否是0来决定。
如何保证元素的排序的呢?
A:自然排序 元素具备比较性
让集合中被存储的元素所属的类实现Comparable接口。
B:比较器排序 集合具备比较性
在创建集合对象的时候,让构造方法接收一个Comparator接口的子类对象。
自然排序和比较器排序的区别:
TreeSet构造函数什么都不传, 默认按照Comparable(接口,compareTo(T))的顺序(没有实现Comparable就报错ClassCastException)
TreeSet如果传入Comparator(接口compare(T1,T2)), 就优先按照Comparator
|
|