Comparable与Comparator 的区别

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕酷酷 2019-10-22 10:46:02

同学你好,Comparable和 Comparator都是java.util包下的两个接口,这两个接口都是用来实现排序,

区别:

1、实现了Comparable的意思是我可以把自己和另一个对象进行比较;而实现了Comparator的意思是我可以比较其他两个对象;也就是说Comparable是一个可比较的对象可以将自己与另一个对象进行比较;而Comparator是比较两个不同的对象。

2、使用Comparable需要修改原先的实体类,是属于一种自然排序。而Comparator则不用修改原先类。

3、即使修改了Comparable实体类,Comparable也仅有一种比较规则。而Comparator可以实现多个,来提供多个比较规则。

在使用时,一般Comparable接口可以作为实现类的默认排序算法,Comparator接口则用于一个类的扩展排序

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • Comparable不是lang包下面的吗 4-1的视频0:25左右说了 为什么老师这里说是在util包中
    2020-03-21 12:25:55
  • 同学你好,是的,Comparable接口是 java.lang包下的 而 Comparator接口是java.util包下的。是老师的疏忽,给您的学习带来不便,深感抱歉!很感谢同学提出的问题,我们会反馈给老师的。
    2020-03-21 14:22:21
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师