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

溫馨提示×

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
思茅市| 昔阳县| 霍邱县| 霍林郭勒市| 新宁县| 靖边县| 汝州市| 凤翔县| 休宁县| 磴口县| 开化县| 曲阜市| 涡阳县| 固镇县| 华亭县| 南川市| 太湖县| 宝丰县| 房产| 青浦区| 永昌县| 微山县| 宁乡县| 玉山县| 荃湾区| 平陆县| 龙州县| 高台县| 克拉玛依市| 神池县| 张北县| 昌都县| 元谋县| 安阳县| 新密市| 永春县| 嫩江县| 巴彦县| 普兰县| 平和县| 迁安市|