java学习之TressSet

来源:互联网 发布:windows下多线程 编辑:程序博客网 时间:2024/06/13 09:01
TreeSet:能够对元素按照某种规则进行排序。
排序有两种方式:
自然排序:使用元素的自然顺序对元素进行排序。实际上就是利用自定义对象所属的那个类实现Comparable接口,重写compareTo方法。
TressSet<E> ts=new TreeSet<E>()
比较器排序:或者根据创建 set 时提供的 Comparator进行排序。
new TreeSet(Comparator<? superE> comparator)
具体取决于使用的构造方法。 

TreeSet集合的特点:排序和唯一。
底层是二叉树结构,(红黑树是一种自平衡的二叉树),取出顺序:左中右
二叉树的遍历方式:前序遍历,中序遍历,后序遍历

TreeSet存储自定义对象(排序和唯一):
A:排序
第一种方式:集合创建空参构造方法。利用自定义类实现compareable接口,自定义对象重写compareTo方法进行自然排序;
第二种方式:
B:利用成员变量的值是否相同保证唯一。

TreeSet集合保证元素排序和唯一性的原理:
唯一性:是根据比较的返回值是否为0来决定。
排序:
A:自然排序:让元素所属的类实现自然排序接口Comparable。(元素具备比较性)
B:比较器排序:让集合的构造方法接收一个比较器接口的子类对象Comparator。(集合具备比较性)
0 0
原创粉丝点击