Java中的compareTo()函数的作用和使用方式
发布时间:2023-05-19 20:22:51
Java中的compareTo()函数是Java.lang.Comparable接口中的一个方法,用于比较两个对象的大小。该方法的返回值是一个整数,表示比较结果的大小。
作用:
1. 用于比较两个对象的大小,判断两个对象是否相等,或者大小关系是什么。
2. 用于对多个对象进行排序。在实现Comparable接口的类中,可以使用compareTo()方法重载排序方法。
使用方式:
在Java中,Comparable接口中的compareTo()方法需要被实现,以便用来进行对象的比较。比较的规则可以根据实际应用来定义,但是,为了保证对象可以被正确的进行排序,必须满足以下规则:
1. 如果两个对象相等,compareTo()方法应该返回值0.
2. 如果 个对象比第二个对象小,compareTo()方法应该返回一个负整数。
3. 如果 个对象比第二个对象大,compareTo()方法应该返回一个正整数。
例如:
class Person implements Comparable<Person>{
private int age;
public Person(int age){
this.age = age;
}
public int getAge(){
return age;
}
@Override
public int compareTo(Person o) {
return this.age - o.age; //比较对象的年龄大小
}
}
重载compareTo()方法后,Person类可以被用来进行排序:
Person p1 = new Person(20);
Person p2 = new Person(30);
Person p3 = new Person(10);
List<Person> pList = new ArrayList<>();
pList.add(p1);
pList.add(p2);
pList.add(p3);
Collections.sort(pList);
for (Person p : pList){
System.out.println(p.getAge());
}
输出结果为:10 20 30
通过compareTo()方法,将Person对象按照年龄大小进行了排序,并输出结果。
