1.为了让java的两个对象有可比较性,所以有了comparable ,那么为什么还要有comparator呢?
因为如果源码定义中没有定义comparable ,在外面定义的时候,为了让两个元素可以比较,但又不破坏源码,所以有了外面的comparator比较器:看看两者的函数就知道了,
class Student implements Comparable<Student>{
};
public class MyComparator implements Comparator<Student> {
}
调用的时候穿进去:Collections.sort(list,new MyComparator());
2.我们看到的-1,1,0到底是怎么回事呢?
我们知道-1表示 a compare b 的时候 ,a 小于b, 这个时候a 就会放在b的前面,那么如果明明a 是大于 b的,但是 a compare b返回-1,那么a就会放到前面,也就是倒序!!!!