- 定义
Student
类:
class Student {
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
- 使用
Collections
工具类进行排序:
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Student> studentList = new ArrayList<>();
studentList.add(new Student("Alice", 20));
studentList.add(new Student("Bob", 18));
studentList.add(new Student("Charlie", 22));
// 定义比较器,按照age属性升序排序
Comparator<Student> ageComparator = Comparator.comparingInt(Student::getAge);
// 使用Collections.sort方法进行排序
Collections.sort(studentList, ageComparator);
// 输出排序后的结果
studentList.forEach(student -> System.out.println("Name: " + student.getName() + ", Age: " + student.getAge()));
}
}
- 关键步骤解释:
- 定义
Student
类:包含name
和age
属性以及对应的访问器方法。
- 创建
List
集合并添加元素:创建一个ArrayList
,并向其中添加Student
对象。
- 定义比较器:使用
Comparator.comparingInt
方法创建一个比较器,它会根据Student
对象的age
属性进行比较。comparingInt
方法接受一个Function
,这里通过Student::getAge
获取Student
对象的age
值。
- 排序:调用
Collections.sort
方法,传入studentList
和定义好的比较器ageComparator
,这样就会按照age
属性对集合进行升序排序。
- 输出结果:使用
forEach
方法遍历排序后的集合,并打印每个Student
对象的name
和age
属性。