如何使用比较器对数组列表进行排序?
2022-09-04 19:18:33
我有一个实现静态方法的班级学生
public static Comparator<Student> getCompByName()
返回 Student 的新比较器对象,该对象通过属性“name”比较 2 个 Students 对象。
我现在需要通过使用我的函数getCompByName()按“名称”对学生ArrayList进行排序来测试这一点。
这是我在学生班上的比较器方法。
public static Comparator<Student> getCompByName()
{
Comparator comp = new Comparator<Student>(){
@Override
public int compare(Student s1, Student s2)
{
return s1.name.compareTo(s2.name);
}
};
return comp;
}
我需要测试的主要位置
public static void main(String[] args)
{
// TODO code application logic here
//--------Student Class Test-------------------------------------------
ArrayList<Student> students = new ArrayList();
Student s1 = new Student("Mike");
Student s2 = new Student("Hector");
Student s3 = new Student("Reggie");
Student s4 = new Student("zark");
students.add(s1);
students.add(s2);
students.add(s3);
students.add(S4);
//Use getCompByName() from Student class to sort students
任何人都可以向我展示如何使用我的主数据库中的getCompByName()来实际按名称对ArrayList进行排序?我是比较器的新手,很难使用它们。该方法返回一个比较器,因此我不确定这将如何实现。我知道我需要使用getCompByName()进行排序,我只是不知道如何实现它。