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

溫馨提示×

java優先隊列怎么自定義排序

小億
363
2023-06-19 13:44:55
欄目: 編程語言

Java優先隊列可以通過實現Comparator接口來自定義排序。Comparator接口有一個compare方法,用于比較兩個元素的大小。在compare方法中,我們可以根據自己的需求來定義比較規則。

下面是一個例子,我們定義一個Person類,包含姓名和年齡兩個屬性,然后按照年齡從小到大的順序來排序:

import java.util.Comparator;
import java.util.PriorityQueue;
public class Main {
public static void main(String[] args) {
PriorityQueue<Person> queue = new PriorityQueue<>(new Comparator<Person>() {
@Override
public int compare(Person o1, Person o2) {
return o1.getAge() - o2.getAge();
}
});
queue.offer(new Person("Alice", 25));
queue.offer(new Person("Bob", 20));
queue.offer(new Person("Charlie", 30));
while (!queue.isEmpty()) {
System.out.println(queue.poll());
}
}
static 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;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
}

輸出結果為:

Person{name='Bob', age=20}
Person{name='Alice', age=25}
Person{name='Charlie', age=30}

可以看到,按照年齡從小到大的順序來排序了。

0
黔东| 无棣县| 年辖:市辖区| 登封市| 乐安县| 昌邑市| 婺源县| 玉环县| 西安市| 南乐县| 库伦旗| 广宁县| 阳泉市| 高州市| 三都| 扎鲁特旗| 衢州市| 尖扎县| 吐鲁番市| 海丰县| 西吉县| 新乐市| 宜黄县| 天全县| 兴安县| 盐津县| 福泉市| 岳池县| 湖北省| 东阿县| 新巴尔虎左旗| 凤凰县| 崇明县| 宕昌县| 韶山市| 台前县| 新闻| 龙岩市| 天峻县| 奉新县| 习水县|