亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

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
谷城县| 乌拉特后旗| 兰西县| 乐东| 白河县| 锡林郭勒盟| 交城县| 保山市| 沂水县| 漾濞| 德庆县| 敦化市| 华亭县| 深圳市| 阿荣旗| 邵东县| 陈巴尔虎旗| 会泽县| 高邑县| 德昌县| 呼玛县| 麻阳| 新巴尔虎左旗| 珲春市| 东丰县| 虞城县| 韶山市| 内乡县| 鹤岗市| 康定县| 忻州市| 嫩江县| 顺平县| 白玉县| 项城市| 寻甸| 正阳县| 桃园市| 保康县| 汤原县| 博兴县|