比较器Compareable与Comporator区别

Java中比较器有两种:Comparable与Comparator。
区别:1、Comparable是一个要进行多个对象比较的类需要默认实现的一个接口。在java.lang包中,定义如下:

public interface Comparable <T>
{
	public int compareTo(T o);
}

此方法返回int数据,即调用此方法的对象A与对象o比较大小,若相等,返回0,A>o,返回1,A<哦,返回-1 。
2、Comparator是一个挽救的比较器接口。即假设有一个类已经开发完了,在此类使用了很久之后发现需要对这个类的对象进行排序,但是由于此类并没有实现Comparable接口,所以需要利用Comparator接口实现比较。Comparator接口在Java.util包中,定义如下:

public interface Comparator<T>
{
	public int compare(T o1,T o2);
	public boolean equals(Object obj);
}

此方法返回int数据,o1>o2,返回正数,o1<o2,返回负数,o1=o2,返回0。
3、如果某个类要用比较功能,则必须实现Comparable接口,并重写comparaTo()方法;Comparator接口可以在类的外部使用,即可以在类的外部定义比较规则。
使用Comparable时:Collections.sort(obj);
使用Comparator时:Collections.sort(obj,new Comparator() ),即需要将Comparator接口的一个匿名类对象当做参数传递给Collections.sort。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值