共計 936 個字符,預計需要花費 3 分鐘才能閱讀完成。
要自定義排序,可以通過實現 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 定義的排序規則來進行排序。
丸趣 TV 網 – 提供最優質的資源集合!
正文完