匿名内部类之使用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 + "}";
}
}

浙公网安备 33010602011771号