Comparator接口
java中有内置的排序,Arrays.sort(),现在我有一个Student类,类中三个成员变量name,id,age,我现在想以age作为参考进行升序排序,应该如何做,很简单,只需要自己定义一个类实现Comparator接口即可
import java.util.*;
class Student {
String name;
int id,age;
Student(String name,int id,int age) {
this.name = name;
this.id = id;
this.age = age;
}
}
public class ComparetorTest {
public static class MyCompara implements Comparator<Student> {
public int compare(Student s1, Student s2) {
return s1.age - s2.age;
}
}
public static void main(String[] args) {
Student s1 = new Student("A",1,22);
Student s2 = new Student("B",3,23);
Student s3 = new Student("C",2,21);
Student[] student = new Student[] {s1,s2,s3};
Arrays.sort(student, new MyCompara());
for(int i = 0;i < student.length;i++)
System.out.println(student[i].name + " " + student[i].id + " " + student[i].age);
}
}