1.特点
a.没有索引,存取顺序不一致
b.保证元素唯一
c.对元素进行排序
2.存储限制(满足一个条件)
a.创建 TreeSet 时传入一个 Comparator 接口子类. //TreeSet集合具备排序功能
compareTo() 方法返回负数:将元素存入二叉树的左边
compareTo() 方法返回正数:将元素存入二叉树的右边
compareTo() 方法返回0:不存入
compareTo(Person p)方法中:
升序排列(从小到大):this.xx-p.xx 前-后
降序排列(从大到小):p.xx-this.xx 后-前
b.存储的对象实现了 Comparable 接口. //存储的对象本身具备排序功能
compare() 方法返回负数:将元素存入二叉树的左边
compare() 方法返回正数:将元素存入二叉树的右边
compare() 方法返回0:不存入
compare(Person p1, Person p2)方法中: //p1是存进来的元素,p2是集合原有的元素
升序排列(从小到大):p1.xx-p2.xx 前-后
降序排列(从大到小):p2.xx-p1.xx 后-前
注意:
'在输出TreeSet中的元素时,其实就是依照左中右规则遍历这棵二叉树(参见图解)'
'分清楚比较的主要条件(需求给的)和次要条件(需要自己分析)'
|
|