匿名内部类之使用comparator接口的匿名内部类对数组进行排序

先把学生类写出来
package Demon03;

public class Student {
private String name;
private int age;
private double height;
private char gender;

public Student(String name, int age, double height, char gender) {
    this.name = name;
    this.age = age;
    this.height = height;
    this.gender = gender;
}

public int getAge() {
    return age;
}

@Override
public String toString() {
    return "Student{name='" + name + "', age=" + age + ", height=" + height + ", gender=" + gender + "}";
}

}
System.out.pritnln("==================================================================================")
package Demon03;

import java.util.Arrays;
import java.util.Comparator;

public class Test4 {
public static void main(String[] args) {
Student[] students = new Student[3]; // 修改数组大小为3,因为只初始化了3个元素
students[0] = new Student("殷素素", 35, 171.5, '女');
students[1] = new Student("王五", 28, 168.5, '女');
students[2] = new Student("赵明", 37, 181.5, '男');

    // 使用 Arrays.sort 对学生数组进行排序
    Arrays.sort(students, new Comparator<Student>() {
        @Override
        public int compare(Student o1, Student o2) {
            if (o1.getAge() > o2.getAge()) {
                return 1;
            } else if (o1.getAge() < o2.getAge()) {
                return -1;
            }
            return 0;
        }
    });

    // 遍历数组中的学生对象并输出
    for (int i = 0; i < students.length; i++) {
        System.out.println(students[i]);
    }
}

}

class Student {
private String name;
private int age;
private double height;
private char gender;

public Student(String name, int age, double height, char gender) {
    this.name = name;
    this.age = age;
    this.height = height;
    this.gender = gender;
}

public int getAge() {
    return age;
}

@Override
public String toString() {
    return "Student{name='" + name + "', age=" + age + ", height=" + height + ", gender=" + gender + "}";
}

}

posted @ 2025-05-13 22:40  骆驼刺破仙人掌007  阅读(10)  评论(0)    收藏  举报