Comparator 与Comparable的区别

Comparator 与Comparable的区别

请问这两种方式实质是相同的,只是实现方式不同吗?

Comparator是重新实现一个接口类

Comparable是与实现类相结合?

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

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

1回答
好帮手慕小明 2022-01-12 10:05:47

同学您好,

1、Comparable是java.lang包下的接口, 而Comparator是java.util包下的接口,这两个接口都是用来实现排序的,但两者的实现方式是不同的

2、Comparable是通过实现方法 compareTo()进行的排序。它主要类时实现,如果一个类需要用到排序,则可以实现这个接口。

Comparator是通过实现compare()方法进行的排序。我们可以用comparator实现多种比较方式,按姓名按学号按成绩等等。

一般情况下如果对某个类进行排序,比如Cat类,如果使用Comparable接口的方式,那么Cat类需要实现Comparable接口。

如果Cat类通过Comparable接口的方式实现排序,比如通过name排序了。那么我们还希望通过age进行排序,这时不希望修改Cat类,那此时就需要使用Comparator接口了

https://img1.sycdn.imooc.com//climg/61de38890994bd3c09740395.jpg

祝同学学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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