1、相同点
Comparable和Comparator都是用于比较排序
2、不同点
-
接口所在包不同:java.lang.Comparable、java.util.Comparator
-
比较逻辑不同:Comparable是内部比较器,Comparator是外部比较器
-
排序方法不同:Comparable重写方法compareTo(T o),Comparator重写方法compare(T o1, T o2)
-
在Collections.sort()中使用不同:一个参数,默认是Comparable自然排序,二个参数,需要传入Comparator外部排序
-
排序规则数量限制不同:Comparable唯一字段排序,Comparator可以有多个字段排序