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接口了

https://img.mukewang.com/climg/61de38890994bd3c09740395.jpg

祝同学学习愉快~

1

0 学习 · 16556 问题

查看课程

相似问题