91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

java集合排序如何實現

小億
94
2023-10-26 00:37:59
欄目: 編程語言

Java集合的排序可以通過以下幾種方式實現:

  1. 使用Collections.sort()方法:對List集合進行排序時,可以使用Collections類的sort()方法來實現。該方法會根據集合元素的自然順序進行排序,或者可以自定義比較器來指定排序規則。
List<Integer> list = new ArrayList<>();
list.add(5);
list.add(3);
list.add(9);
Collections.sort(list); // 默認按照升序排序
System.out.println(list); // 輸出:[3, 5, 9]
  1. 使用Arrays.sort()方法:對數組進行排序時,可以使用Arrays類的sort()方法來實現。該方法會根據元素的自然順序進行排序,或者可以自定義比較器來指定排序規則。
int[] array = {5, 3, 9};
Arrays.sort(array); // 默認按照升序排序
System.out.println(Arrays.toString(array)); // 輸出:[3, 5, 9]
  1. 實現Comparable接口:如果要對自定義的類進行排序,需要讓該類實現Comparable接口,并重寫compareTo()方法,指定排序規則。然后可以使用Collections.sort()方法對集合進行排序。
class Student implements Comparable<Student> {
    private String name;
    private int score;
    
    // 省略構造方法和其他方法
    
    @Override
    public int compareTo(Student o) {
        return this.score - o.score; // 按照分數升序排序
    }
}

List<Student> students = new ArrayList<>();
students.add(new Student("Alice", 85));
students.add(new Student("Bob", 92));
students.add(new Student("Charlie", 78));
Collections.sort(students); // 按照分數升序排序
System.out.println(students);
  1. 自定義比較器:如果不想改變類的源代碼,可以通過實現Comparator接口來自定義比較器,并在排序時傳入該比較器。
class ScoreComparator implements Comparator<Student> {
    @Override
    public int compare(Student s1, Student s2) {
        return s1.getScore() - s2.getScore(); // 按照分數升序排序
    }
}

List<Student> students = new ArrayList<>();
students.add(new Student("Alice", 85));
students.add(new Student("Bob", 92));
students.add(new Student("Charlie", 78));
Collections.sort(students, new ScoreComparator()); // 按照分數升序排序
System.out.println(students);

以上是常用的幾種集合排序的實現方式。具體選擇哪種方式取決于需要排序的集合類型和排序規則的復雜程度。

0
岚皋县| 峨山| 德令哈市| 彭山县| 剑阁县| 都匀市| 赫章县| 延长县| 新源县| 镇安县| 双桥区| 盖州市| 城市| 绵阳市| 沂水县| 通辽市| 桃源县| 长乐市| 腾冲县| 红安县| 嘉峪关市| 鱼台县| 太仆寺旗| 金寨县| 桂东县| 汉中市| 丰县| 资溪县| 巫山县| 临猗县| 巨鹿县| 新绛县| 大同县| 海盐县| 霸州市| 油尖旺区| 永靖县| 麻栗坡县| 乡城县| 隆回县| 嘉义县|