Comparable:
Comparable接口实现类的对象在任何位置都可以比较大小,若自定义类对象相比较大小,就得实现Comparable接口,并重写其中的compareTo()方法。
抽象方法compareTo()的理解
①他有一个int型的返回值,根据返回的int型数值判断对象的大小
②compareTo()中写对象大小比较的逻辑,规则如下:
如果当前对象thi大于形参对象obj,则返回正整数,
如果当前对象this小于形参对象obj,则返回负整数,
如果当前对象this等于形参对象obj,则返回零。
Comparator:
当对象数组临时有特殊的排序需求时,使用该接口。使用Comparator的对象排序 ,重写compare(object o1,object o2)方法,比较o1和o2的大小:
正数:o1大
负数:o2大
0:相等
区别:
Comparble是排序接口,相当于内部比较器,是通用的接口,比较固定,和一个具体类相绑定。(位于java.lang包下)
Comparator是比较器,相当于外部比较器,是一种算法的实现,比较灵活,它可以被用于各个需要比较功能的类使用。(位于java.util包下)