Java中怎么对 List<Student> students = new ArrayList<>();进行排序
时间: 2024-03-25 11:37:15 浏览: 72
对于List<Student>类型的集合,可以使用Collections.sort()方法对其进行排序。假设我们要对students集合按照学生年龄从小到大排序,可以按如下方式实现:
1. 让Student类实现Comparable接口,重写compareTo()方法,比较年龄大小。
```
public class Student implements Comparable<Student>{
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
//重写compareTo方法,按照年龄从小到大排序
@Override
public int compareTo(Student o) {
return this.age - o.age;
}
//省略getter、setter方法和toString方法
}
```
2. 在调用Collections.sort()方法时,传入该集合作为参数即可。
```
List<Student> students = new ArrayList<>();
students.add(new Student("张三", 20));
students.add(new Student("李四", 18));
students.add(new Student("王五", 22));
Collections.sort(students); //按照年龄从小到大排序
//遍历排序后的集合
for(Student s : students) {
System.out.println(s.toString());
}
```
排序后的结果如下:
```
Student [name=李四, age=18]
Student [name=张三, age=20]
Student [name=王五, age=22]
```
如果要按照其他条件进行排序,可以在compareTo()方法中进行相应的修改,或者使用Comparator接口自定义比较器。
阅读全文