91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

priorityqueue怎么自定義排序

小億
100
2024-02-05 12:39:36
欄目: 編程語言

要自定義排序PriorityQueue,您需要實現Comparator接口,并覆蓋其中的compare()方法。Comparator接口允許您定義元素之間的比較邏輯。然后,您可以將自定義的Comparator對象作為參數傳遞給PriorityQueue的構造函數。

下面是一個示例,展示如何使用PriorityQueue自定義排序:

import java.util.Comparator;
import java.util.PriorityQueue;

public class PriorityQueueCustomSorting {
    public static void main(String[] args) {
        // 創建自定義的Comparator對象
        Comparator<Integer> customComparator = new Comparator<Integer>() {
            @Override
            public int compare(Integer num1, Integer num2) {
                // 根據數字的絕對值進行比較
                return Integer.compare(Math.abs(num1), Math.abs(num2));
            }
        };

        // 創建PriorityQueue并傳入自定義的Comparator對象
        PriorityQueue<Integer> priorityQueue = new PriorityQueue<>(customComparator);

        // 添加元素到PriorityQueue
        priorityQueue.add(-10);
        priorityQueue.add(5);
        priorityQueue.add(-3);
        priorityQueue.add(8);

        // 輸出PriorityQueue中的元素
        while (!priorityQueue.isEmpty()) {
            System.out.println(priorityQueue.poll());
        }
    }
}

在上面的示例中,我們創建了一個自定義的Comparator對象,它根據數字的絕對值進行比較。然后,我們創建了一個PriorityQueue,并將自定義的Comparator對象傳遞給它的構造函數。最后,我們向PriorityQueue中添加一些元素,并使用poll()方法按照自定義排序的順序依次獲取并輸出這些元素。

執行上述代碼,將輸出以下結果:

-3
5
-10
8

可以看到,PriorityQueue中的元素按照自定義的排序順序進行了排列。

0
峨边| 迁安市| 凤凰县| 梁平县| 茂名市| 屏山县| 秭归县| 巴林左旗| 泽库县| 宜州市| 行唐县| 上思县| 岳西县| 彭州市| 礼泉县| 拜泉县| 金寨县| 平江县| 浦县| 田林县| 临高县| 肥乡县| 平定县| 汽车| 道真| 元谋县| 兴宁市| 梧州市| 浏阳市| 新建县| 娱乐| 兴城市| 策勒县| 巴青县| 莱芜市| 龙岩市| 平定县| 彭泽县| 新疆| 雷州市| 迭部县|