久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

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

221次閱讀
沒有評論

共計 816 個字符,預計需要花費 3 分鐘才能閱讀完成。

在 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 方法進行比較并排序。因此,輸出結果會按照字符串的長度從小到大排序。

丸趣 TV 網 – 提供最優質的資源集合!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-12-09發表,共計816字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 三台县| 黄冈市| 股票| 道孚县| 渭南市| 葫芦岛市| 沈丘县| 夹江县| 南雄市| 西乌珠穆沁旗| 高州市| 英吉沙县| 宜川县| 泰兴市| 弥勒县| 平顺县| 天全县| 鸡东县| 崇信县| 蒙城县| 宜春市| 锡林郭勒盟| 望城县| 旬邑县| 林芝县| 唐海县| 静海县| 长春市| 嫩江县| 逊克县| 瑞安市| 凤台县| 钟山县| 隆安县| 天等县| 大足县| 竹山县| 永丰县| 平凉市| 漯河市| 东台市|