亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

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
金溪县| 垣曲县| 阳新县| 和硕县| 永定县| 花垣县| 南通市| 石泉县| 高州市| 广宗县| 年辖:市辖区| 罗定市| 马龙县| 调兵山市| 宽甸| 盱眙县| 茶陵县| 民乐县| 襄垣县| 弋阳县| 神农架林区| 广南县| 离岛区| 吴堡县| 夹江县| 隆昌县| 灵宝市| 桂东县| 鹤峰县| 新乡市| 黎城县| 鲁甸县| 乐平市| 襄汾县| 中卫市| 偃师市| 宝清县| 喜德县| 磐安县| 德江县| 报价|