java Comparator接口和Comparable接口的个人见解

本文探讨了Java中Comparator和Comparable接口的区别与应用场景。Comparable用于自身排序,而Comparator则用于给其他类对象排序。通过举例说明,解释了如何在实践中使用这两个接口进行数组和集合的排序,同时也提到了未实现Comparable接口的类在尝试排序时可能会抛出异常。此外,文章还展示了使用Lambda表达式进行排序的方法,并提供了Lambda教程的链接供进一步学习。
摘要由CSDN通过智能技术生成

#相同点
这两个接口都是用来排序的,例如数组的方法Arrays.sort(),对集合进行排序的方法Collections.sort() 。
#不同点
Comparable接口是用来给实现这个接口的类,自己排序,重点是给自己

Comparator接口是用来给其他类对象进行排序的,重点是给他人

#Comparable例子
首先定义一个类实现了Comparable接口 ,类名叫Comparable_Example

package Sort;

public class Comparable_Example implements Comparable<Comparable_Example> {
   
    public int getNumber() {
   
        return number;
    }

    public void setNumber(int number) {
   
        this.number = number;
    }

    private int number;


    public Comparable_Example(int number) {
   
        this.number=number;
    }

    //按照古典类型排序
    //返回正数 ,右边在上,左边在下
    //返回0 相等
    //返回负数 ,右边在下 ,左边在上
    /**
     * @param o   就代表在排序时候,本身类的其他实例,将自身与其他实例进行比较
     * @return  返回正实数就是大于,0代表等于,负实数代表小于
     */
 @Override
    public int compareTo(Comparable_Example o) {
   
        return this.number-o.getNumber();
    }
}

再定义一个没有实现接口的普通类Normal

package Sort;

public class Normal {
   
    public int getNumber() {
   
        return number;
    }

    public void setNumber(int number
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值