Comparator和Comparable的区别

一)Compartor接口是java.util包中的接口,而Comparable是java.lang包中的接口

二)在Compartor接口中包含两个抽象方法,两个方法分别是

int
 
compare(T o1, T o2) 
Compares its two arguments for order.
 


boolean
 
equals(Object obj) 
Indicates whether some other object is "equal to" this comparator. 
compare方法返回的是-1,0,1;分别对应于对象O1小于,等于,大于对象O2

equals方法返回的是一个布尔类型的

Comparable 接口中只有一个方法:

int compareTo(T o)
Compares this object with the specified object for order.
是通过继承了该接口的实例对象对该方法进行调用,返回的值为-1,0,和1

三)什么时候用Comparable,什么时候用Compartor

例如我们向容器中存放数据时,放java封装好的对象,这时候的对象大多数都实现了comparable接口,而如果存放的是我们自己写的类,我们需要对其进行封装,并实现Comparable接口,这样我们就可以使用容器的SORT方法。我们也可以不用实现Comparable接口,通过实现Compartor的类,然后再排序的时候调用即可。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值