#相同点
这两个接口都是用来排序的,例如数组的方法Arrays.sort(),对集合进行排序的方法Collections.sort() 。
#不同点
Comparable接口是用来给实现这个接口的类,自己排序,重点是给自己 。
Comparator接口是用来给其他类对象进行排序的,重点是给他人 。
#Comparable例子
首先定义一个类实现了Comparable接口 ,类名叫Comparable_Example
package Sort;
public class Comparable_Example implements Comparable<Comparable_Example> {
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
private int number;
public Comparable_Example(int number) {
this.number=number;
}
//按照古典类型排序
//返回正数 ,右边在上,左边在下
//返回0 相等
//返回负数 ,右边在下 ,左边在上
/**
* @param o 就代表在排序时候,本身类的其他实例,将自身与其他实例进行比较
* @return 返回正实数就是大于,0代表等于,负实数代表小于
*/
@Override
public int compareTo(Comparable_Example o) {
return this.number-o.getNumber();
}
}
再定义一个没有实现接口的普通类Normal
package Sort;
public class Normal {
public int getNumber() {
return number;
}
public void setNumber(int number