Comparable接口的用法和实现
Comparable接口中只有一个方法,
public int compareTo(Object obj);
该方法:
返回0 表示this==obj;
返回正整数表示 this>obj;
返回负数表示this<obj
实现了Comparable接口的类通过实现了compareTo方法从而确定该类对象的排序方式
下面是java中代码的实现方式:
import java.util.Collections;
import java.util.ArrayList;
import java.util.List;
public class TestComparable {
public static void main(String[] args) {
List<Student> list=new ArrayList<Student>();
Student stu1=new Student(1,"张三",100);
Student stu2=new Student(3,"张四",80);
Student stu3=new Student(2,"张五",90);
list.add(stu1);
list.add(stu2);
list.add(stu3);
System.out.println(list);
Collections.sort(list);
System.out.println(list);
}
}
class Student implements Comparable<Student>{
int id;
String name;
int score;
public Student(int id,String name,int score){
super();
this.id=id;
this.name=name;
this.score=score;
}
public String toString(){
return id+" "+name+score;
}
public int compareTo(Student o){
if(this.score>o.score){
return 1;
}else if(this.score<o.score){
return -1;
}else{
return 0;
}
}
}