对元素进行排序的。
自然排序:
让基本类(要排序的类)去实现Comparable接口,并且重写接口中的compareTo()方法。
注意:
当compareTo()方法返回0的时候,集合中只有一个元素。
当compareTo()方法返回正数的时候,怎么存就怎么取。
当compareTo()方法返回负数的时候,倒序存储。
二叉树取元素的顺序是什么:左,中,右。
注意:
用TreeSet排序的时候,一定要考虑清楚什么是主要条件,什么是次要条件。
思考:
按照姓名排序。(采用的是Unicode编码表中的值)
//this.name.compareTo(s.name);
如果是按照 姓名的长度 排序呢?
//this.name.length() - s.name.length();
//内容,年龄
比较器排序:
使用的是 TreeSet(Comparator comparator); TreeSet类的带参构造。
做法:
1、新建一个类,去实现Comparator接口,重写接口中的compare(),然后创建一个该类对象,传入到 TreeSet类的带参构造中。
2、直接使用匿名内部类。 (推荐) |
|