中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

java怎么自定義排序規則

小億
98
2024-02-23 14:49:33
欄目: 編程語言

要自定義排序規則,可以使用Comparator接口來實現。Comparator接口包含一個compare方法,用于定義自定義排序規則。

下面是一個例子,假設有一個Student類,其中包含姓名和年齡屬性,我們希望按照年齡從大到小的順序對Student對象進行排序:

import java.util.Comparator;

public 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;
    }
}

public class AgeComparator implements Comparator<Student> {
    @Override
    public int compare(Student s1, Student s2) {
        if (s1.getAge() < s2.getAge()) {
            return 1;
        } else if (s1.getAge() > s2.getAge()) {
            return -1;
        } else {
            return 0;
        }
    }
}

然后在使用時,可以將AgeComparator傳入Collections.sort方法中,這樣就可以按照自定義的排序規則對Student對象進行排序:

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<Student> students = new ArrayList<>();
        students.add(new Student("Alice", 20));
        students.add(new Student("Bob", 22));
        students.add(new Student("Charlie", 18));
        
        Collections.sort(students, new AgeComparator());
        
        for (Student student : students) {
            System.out.println(student.getName() + " - " + student.getAge());
        }
    }
}

運行結果將會按照年齡從大到小的順序輸出學生信息。

0
连江县| 红原县| 西乌珠穆沁旗| 新源县| 乌鲁木齐县| 利辛县| 通州区| 蒲城县| 南陵县| 织金县| 峡江县| 泽库县| 古丈县| 禄劝| 虎林市| 红安县| 当阳市| 巴林左旗| 岗巴县| 浦东新区| 仪陇县| 望谟县| 喜德县| 沂水县| 子长县| 大理市| 长垣县| 化州市| 宁海县| 香河县| 正宁县| 合山市| 长海县| 伊通| 获嘉县| 安新县| 潞西市| 霸州市| 长沙市| 喀什市| 包头市|