1.Comparator位于包java.util下,而Comparable位于包java.lang下
2.Comparable接口将比较代码嵌入自身类中,而Comparator在一个独立的类中实现比较。
3.Comparator接口的比较方法compare(A,B)有两个参数,Comparable的比较方法compareTo(A)只有1个参数
a.compareTo(obj):如果a大于形参对象obj,则返回1;
compare(Object o1,Object o2):如果o1大于o2,返回正整数
两个方法都是左边大于右边返回正数,默认从小到大排列- // 定制排序的用法,此时从大到小排列
- Collections.sort(arrayList, new Comparator<Integer>() {
- @Override
- public int compare(Integer o1, Integer o2) {
- return o2.compareTo(o1);
- }
- });
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |