Comparable和Comparator的区别
Comparable接口:这是一个内部比较器,主要通过修改实例类的部分方法来实现排序。只有实现了Comparable接口中的compareTo方法才能使用Collections.sort()和Arrays.sort()方法进行排序。
Comparator接口:这是一个外部比较器。可以针对某些没有实现Comparable接口的实例类的排序,可以创建一个属于这个类的排序器。主要是要用匿名内部类的方式实现Comparator()接口中的compare()的方法。
注意:这里的Collections是Collection接口的方法类,前往不能少了那个s。
Comparable和Comparator的使用方法
Comparable:继承Comparable接口,并实现里面的comparaTo方法,(1就是大于,-1就是小于,0就是等于)
public class Test implements Comparable<Test>{
private String name;
private int age;
public Test(String name, int age) {
this.name = name;
this.age = age;
}
public Test() {
}
//重写compareto方法,这是按照年龄从小到大排序的结果
@Override
public int compareTo(Test others) {
if(this.age > others.age)
return 1;
if(this.age < others.age)

本文详细介绍了Java中Comparable和Comparator的区别与使用方法。Comparable是内部比较器,通过实现compareTo方法进行排序;Comparator是外部比较器,适用于未实现Comparable接口的类,通过匿名内部类实现compare方法。文章通过示例展示了两种方式的使用,并讨论了它们的优缺点。使用Comparable简化了排序,但需修改源代码;Comparator则避免了修改源代码,允许更灵活的比较逻辑。
最低0.47元/天 解锁文章
4万+

被折叠的 条评论
为什么被折叠?



