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

溫馨提示×

java treeset怎么自定義排序

小億
99
2024-01-26 21:11:58
欄目: 編程語言

要自定義排序,可以通過實現Comparator接口來實現。Comparator接口有一個compare方法,可以根據自定義的排序規則來比較兩個對象的大小。

以下是一個示例,自定義了一個Person類,并在TreeSet中按照年齡進行排序:

import java.util.Comparator;
import java.util.TreeSet;

class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }
}

class AgeComparator implements Comparator<Person> {
    @Override
    public int compare(Person p1, Person p2) {
        return p1.getAge() - p2.getAge();
    }
}

public class Main {
    public static void main(String[] args) {
        TreeSet<Person> set = new TreeSet<>(new AgeComparator());
        set.add(new Person("Alice", 25));
        set.add(new Person("Bob", 30));
        set.add(new Person("Charlie", 20));

        for (Person person : set) {
            System.out.println(person.getName() + " - " + person.getAge());
        }
    }
}

輸出結果為:

Charlie - 20
Alice - 25
Bob - 30

在這個示例中,AgeComparator類實現了Comparator接口,并重寫了compare方法,根據Person對象的age屬性進行比較。然后在創建TreeSet對象時,將AgeComparator對象作為參數傳入,這樣TreeSet會根據AgeComparator定義的排序規則來進行排序。

0
抚远县| 宽城| 启东市| 会泽县| 武夷山市| 阆中市| 安康市| 延川县| 尚义县| 肃宁县| 镇宁| 册亨县| 凌海市| 重庆市| 兴文县| 通州市| 桂阳县| 新河县| 庐江县| 新野县| 新兴县| 临高县| 托克托县| 南安市| 新化县| 莫力| 晋城| 固安县| 迁西县| 广平县| SHOW| 定结县| 罗田县| 湖州市| 搜索| 同德县| 嘉鱼县| 靖安县| 武安市| 平武县| 丹东市|