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

溫馨提示×

Java中priorityqueue自定義排序怎么實現

小億
135
2023-11-22 01:37:07
欄目: 編程語言

在Java中,可以通過實現Comparator接口,并在PriorityQueue的構造函數中傳入該Comparator對象來實現自定義排序。

以下是一個示例代碼,按照字符串長度進行排序:

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

public class Main {
    public static void main(String[] args) {
        PriorityQueue<String> queue = new PriorityQueue<>(new StringLengthComparator());
        queue.add("Java");
        queue.add("Python");
        queue.add("C++");
        queue.add("Ruby");

        while (!queue.isEmpty()) {
            System.out.println(queue.poll());
        }
    }

    static class StringLengthComparator implements Comparator<String> {
        @Override
        public int compare(String s1, String s2) {
            return Integer.compare(s1.length(), s2.length());
        }
    }
}

輸出結果:

C++
Java
Ruby
Python

在這個示例中,我們創建了一個PriorityQueue對象,傳入了StringLengthComparator對象。StringLengthComparator實現了Comparator接口,并重寫了compare方法來定義自定義的排序邏輯,比較字符串的長度。

在PriorityQueue中,每次從隊列中取出元素時,會根據Comparator的compare方法進行比較并排序。因此,輸出結果會按照字符串的長度從小到大排序。

0
九龙城区| 盐亭县| 定兴县| 商城县| 成安县| 西贡区| 平武县| 宣城市| 舟曲县| 和政县| 财经| 泸西县| 石门县| 泸州市| 贵定县| 葵青区| 沐川县| 太和县| 长子县| 桃园县| 湖口县| 佳木斯市| 潜山县| 车险| 阳江市| 通化县| 贞丰县| 绍兴县| 大安市| 嘉峪关市| 合肥市| 肃北| 四会市| 宁陵县| 松桃| 饶河县| 巴青县| 瑞金市| 渑池县| 定陶县| 稷山县|