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);
- }
- }