Comparable 和 Comparator 的区别

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);
            }
        });
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » Comparable 和 Comparator 的区别