要自定義 PriorityQueue 的比較器,您需要創建一個實現 Comparator
接口的類,并重寫 compare
方法
import java.util.Comparator;
import java.util.PriorityQueue;
public class CustomPriorityQueue {
public static void main(String[] args) {
// 創建一個自定義比較器的實例
Comparator<Integer> customComparator = new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
// 自定義比較邏輯,例如降序排列
return o2 - o1;
}
};
// 使用自定義比較器創建 PriorityQueue
PriorityQueue<Integer> priorityQueue = new PriorityQueue<>(customComparator);
// 向 PriorityQueue 中添加元素
priorityQueue.add(5);
priorityQueue.add(3);
priorityQueue.add(8);
priorityQueue.add(1);
// 輸出 PriorityQueue 中的元素
while (!priorityQueue.isEmpty()) {
System.out.println(priorityQueue.poll());
}
}
}
在這個示例中,我們創建了一個自定義比較器 customComparator
,它實現了 Comparator
接口并重寫了 compare
方法。在 compare
方法中,我們定義了降序排列的邏輯(o2 - o1
)。然后,我們使用這個自定義比較器創建了一個 PriorityQueue
實例,并向其中添加了四個整數。最后,我們使用 while
循環輸出優先隊列中的所有元素。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。