Comparator 与Comparable的区别
来源:4-3 案例:对商品价格进行降序排序
小乌兹cxy
2022-01-11 23:38:36
请问这两种方式实质是相同的,只是实现方式不同吗?
Comparator是重新实现一个接口类
Comparable是与实现类相结合?
1回答
好帮手慕小明
2022-01-12
同学您好,
1、Comparable是java.lang包下的接口, 而Comparator是java.util包下的接口,这两个接口都是用来实现排序的,但两者的实现方式是不同的
2、Comparable是通过实现方法 compareTo()进行的排序。它主要类时实现,如果一个类需要用到排序,则可以实现这个接口。
Comparator是通过实现compare()方法进行的排序。我们可以用comparator实现多种比较方式,按姓名按学号按成绩等等。
一般情况下如果对某个类进行排序,比如Cat类,如果使用Comparable接口的方式,那么Cat类需要实现Comparable接口。
如果Cat类通过Comparable接口的方式实现排序,比如通过name排序了。那么我们还希望通过age进行排序,这时不希望修改Cat类,那此时就需要使用Comparator接口了
祝同学学习愉快~
相似问题