java中集合list存学生,学生类存id , 姓名,生日日期,性别,要求按学生年龄进行排血
时间: 2023-08-15 13:08:41 浏览: 78
可以通过实现 `Comparable` 接口或者使用 `Comparator` 来对存储学生的 List 按照年龄进行排序。
方法一:实现 Comparable 接口
1. 在学生类中实现 `Comparable` 接口,重写 `compareTo` 方法,按照年龄进行比较。
```java
public class Student implements Comparable<Student> {
private int id;
private String name;
private Date birthday;
private String gender;
// 省略构造函数和 getter/setter 方法
@Override
public int compareTo(Student o) {
return this.birthday.compareTo(o.getBirthday());
}
}
```
2. 在存储学生的 List 调用 `Collections.sort()` 方法进行排序。
```java
List<Student> students = new ArrayList<>();
// 添加学生
Collections.sort(students);
```
方法二:使用 Comparator 接口
1. 创建一个 `StudentComparator` 类实现 `Comparator` 接口,重写 `compare` 方法,按照年龄进行比较。
```java
public class StudentComparator implements Comparator<Student> {
@Override
public int compare(Student o1, Student o2) {
return o1.getBirthday().compareTo(o2.getBirthday());
}
}
```
2. 在存储学生的 List 调用 `Collections.sort()` 方法进行排序,传入 `StudentComparator` 对象。
```java
List<Student> students = new ArrayList<>();
// 添加学生
Collections.sort(students, new StudentComparator());
```
阅读全文