MENU

比较器Comparator

August 6, 2018 • Read: 3267 • 算法,Java阅读设置

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);
    }
}
Last Modified: October 7, 2018
Archives Tip
QR Code for this page
Tipping QR Code
Leave a Comment