特点:
TreeSet是用来排序的,可以指定一个顺序,对象存入之后会按照指定的顺序排列
使用方式:
自然排序(Comparable)
- TreeSet类的add()方法中会把存入的对象提升为Comparable类型
- 调用对象的comparaTo方法和集合中的对象比较
- 根据comparaTo方法返回的结果进行存储
比较器排序(Comparator)
- 创建TreeSet的时候可以制定一个Comparator
- 如果传入了Comparator的子类对象,那么TreeSet就会按照比较器的顺序排序
- add()方法内部会自动调用Comparator接口中的compare方法的第二个参数
两种方式区别
- TreeSet构造函数什么都不传,默认按照类中Comparable的顺序(没有就报错ClassCastException)
- TreeSet如果传入Comparator,默认按照Comparator