梦见你的名字 发表于 2023-3-8 13:04:49

Comparable 和 Comparator 的区别

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);
            }
      });
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: Comparable 和 Comparator 的区别