集合框架(TreeSet原理)

特点:

TreeSet是用来排序的,可以指定一个顺序,对象存入之后会按照指定的顺序排列

使用方式:

自然排序(Comparable)

  • TreeSet类的add()方法中会把存入的对象提升为Comparable类型
  • 调用对象的comparaTo方法和集合中的对象比较
  • 根据comparaTo方法返回的结果进行存储

比较器排序(Comparator)

  • 创建TreeSet的时候可以制定一个Comparator
  • 如果传入了Comparator的子类对象,那么TreeSet就会按照比较器的顺序排序
  • add()方法内部会自动调用Comparator接口中的compare方法的第二个参数

两种方式区别

  • TreeSet构造函数什么都不传,默认按照类中Comparable的顺序(没有就报错ClassCastException)
  • TreeSet如果传入Comparator,默认按照Comparator

猜你喜欢

转载自www.cnblogs.com/happystudyhuan/p/10744898.html
今日推荐