黑马程序员技术交流社区
标题:
TreeSet底层数据结构是什么?如何保证元素的唯一性的呢?
[打印本页]
作者:
梦想的小草
时间:
2016-9-5 11:29
标题:
TreeSet底层数据结构是什么?如何保证元素的唯一性的呢?
底层数据结构是二叉树。
根据比较的返回值是否是0来决定。
如何保证元素的排序的呢?
A:自然排序 元素具备比较性
让集合中被存储的元素所属的类实现Comparable接口。
B:比较器排序 集合具备比较性
在创建集合对象的时候,让构造方法接收一个Comparator接口的子类对象。
自然排序和比较器排序的区别:
TreeSet构造函数什么都不传, 默认按照Comparable(接口,compareTo(T))的顺序(没有实现Comparable就报错ClassCastException)
TreeSet如果传入Comparator(接口compare(T1,T2)), 就优先按照Comparator
作者:
alexander5354
时间:
2016-9-5 12:01
A:自然排序 元素具备比较性
让集合中被存储的元素所属的类实现Comparable接口。
B:比较器排序 集合具备比较性
在创建集合对象的时候,让构造方法接收一个Comparator接口的子类对象。
作者:
a825125501
时间:
2016-9-5 18:05
底层是二叉树结构,自带有默认的比较器的,如果想修改排序方式可以自己重写比较器
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2