在Java中,您可以使用PriorityQueue
類的構造函數來創建一個優先級隊列實例
import java.util.Comparator;
import java.util.PriorityQueue;
public class Main {
public static void main(String[] args) {
// 創建一個整數類型的優先級隊列,按照自然順序排序(從小到大)
PriorityQueue<Integer> integerPriorityQueue = new PriorityQueue<>();
// 創建一個自定義對象類型的優先級隊列,需要實現Comparator接口來定義排序規則
class Person {
String name;
int age;
Person(String name, int age) {
this.name = name;
this.age = age;
}
}
Comparator<Person> personAgeComparator = (p1, p2) -> p1.age - p2.age;
PriorityQueue<Person> personPriorityQueue = new PriorityQueue<>(personAgeComparator);
// 向優先級隊列中添加元素
integerPriorityQueue.add(5);
integerPriorityQueue.add(3);
integerPriorityQueue.add(8);
personPriorityQueue.add(new Person("Alice", 30));
personPriorityQueue.add(new Person("Bob", 25));
personPriorityQueue.add(new Person("Charlie", 35));
// 輸出優先級隊列中的元素
System.out.println("Integer Priority Queue: " + integerPriorityQueue);
System.out.println("Person Priority Queue: " + personPriorityQueue);
}
}
這個示例展示了如何創建整數和自定義對象類型的優先級隊列。對于自定義對象類型,您需要實現Comparator
接口來定義排序規則。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。