comparable 和 comparator的区别?

  • comparable接口实际上是出自java.lang包,它有一个 compareTo(Object obj)方法用来排序
  • comparator接口实际上是出自 java.util 包,它有一个compare(Object obj1, Object obj2)方法用来排序
  • 一般来说TreeSet或者TreeMap或者Collections的sort方法可以支持对象排序,如果是对象自己实现比较规则推荐可以让类实现comparable接口,如果是自带比较器则可以使用Comparator接口的匿名对象形式。