java中有两个比较器,Comparable与Comparator,都可以实现对Collection的比较
两者区别如下:
- Comparable:
- 是在集合内部定义的方法实现的排序;
- 实现java.lang.Comparable接口,使你自己定义的类具备比较能力,这个接口只有一个方法compareTo
- Comparator:
- 是在集合外部实现的排序
- 定义一个单独的类去实现Comparator接口,重写其中的compare方法
以上区别对代码直白的影响是,如果你希望写一个公用的比较方法,适用于多个类,就用Comparator;
如果不希望破坏类本身的功能结构&#