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

溫馨提示×

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
新沂市| 枣庄市| 达州市| 新疆| 吉水县| 章丘市| 奈曼旗| 罗平县| 明光市| 沧源| 泰州市| 鄂伦春自治旗| 博客| 台山市| 会泽县| 高邑县| 大安市| 财经| 澜沧| 历史| 伊宁市| 乌兰县| 会宁县| 永昌县| 崇仁县| 桑植县| 江都市| 无极县| 灵川县| 彭泽县| 平山县| 合川市| 静安区| 新田县| 肃宁县| 延津县| 任丘市| 新野县| 洛扎县| 新巴尔虎右旗| 叶城县|