Java集合排序可以通過以下方法實現:
Collections.sort()
方法:可以對List
集合進行排序。此方法會自動調用集合中元素的compareTo()
方法進行比較,并對集合進行排序。List<Integer> list = new ArrayList<>();
list.add(3);
list.add(1);
list.add(2);
Collections.sort(list);
System.out.println(list); // 輸出 [1, 2, 3]
Comparable
接口:如果要對自定義的類進行排序,可以讓類實現Comparable
接口,并實現compareTo()
方法。在compareTo()
方法中定義排序規則。public class Student implements Comparable<Student> {
private String name;
private int age;
// 構造方法、getter和setter省略
@Override
public int compareTo(Student student) {
return this.age - student.age; // 按照年齡升序排序
}
}
然后可以使用Collections.sort()
方法對包含Student
對象的List
集合進行排序。
Comparator
接口:Comparator
接口可以用于對任意類的對象進行排序,而不需要修改類的定義。通過實現Comparator
接口,并實現compare()
方法來定義排序規則。List<Student> students = new ArrayList<>();
students.add(new Student("Alice", 20));
students.add(new Student("Bob", 18));
students.add(new Student("Charlie", 22));
Collections.sort(students, new Comparator<Student>() {
@Override
public int compare(Student s1, Student s2) {
return s1.getName().compareTo(s2.getName()); // 按照姓名升序排序
}
});
System.out.println(students);
以上是常用的幾種排序實現方法,可以根據具體需求選擇合適的方法。