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

溫馨提示×

priorityqueue java怎樣實現優先級排序

小樊
81
2024-11-16 02:48:21
欄目: 編程語言

在Java中,PriorityQueue類是一個基于優先級的隊列。默認情況下,隊列中的元素按照自然順序進行排序,但你可以通過提供一個自定義的比較器(Comparator)來實現不同的優先級排序。

以下是一個使用PriorityQueue實現優先級排序的示例:

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

class Task {
    String name;
    int priority;

    public Task(String name, int priority) {
        this.name = name;
        this.priority = priority;
    }

    @Override
    public String toString() {
        return "Task{" +
                "name='" + name + '\'' +
                ", priority=" + priority +
                '}';
    }
}

public class PriorityQueueExample {
    public static void main(String[] args) {
        // 創建一個優先級隊列,根據任務的優先級進行排序
        PriorityQueue<Task> taskQueue = new PriorityQueue<>(Comparator.comparingInt(Task::getPriority).reversed());

        // 向隊列中添加任務
        taskQueue.add(new Task("Task 1", 3));
        taskQueue.add(new Task("Task 2", 1));
        taskQueue.add(new Task("Task 3", 2));

        // 輸出隊列中的任務
        while (!taskQueue.isEmpty()) {
            System.out.println(taskQueue.poll());
        }
    }
}

在這個示例中,我們定義了一個名為Task的類,它包含一個名稱(name)和一個優先級(priority)。我們創建了一個名為taskQueue的PriorityQueue,并使用Comparator.comparingInt()方法根據任務的優先級進行排序。通過調用reversed()方法,我們可以讓隊列按照優先級的降序進行排序。

然后,我們向隊列中添加了三個任務,并在隊列不為空時,使用poll()方法依次取出并輸出隊列中的任務。

0
临澧县| 平昌县| 石门县| 页游| 昌邑市| 沙雅县| 策勒县| 喜德县| 阿拉善盟| 花莲市| 开江县| 祁门县| 盐池县| 湖北省| 峨山| 漳州市| 洛隆县| 海淀区| 盐城市| 郴州市| 南江县| 贵德县| 托克托县| 东丰县| 霍山县| 繁昌县| 北票市| 连城县| 石台县| 博客| 桂平市| 漯河市| 安多县| 湖北省| 定兴县| 玉溪市| 上高县| 镶黄旗| 凤冈县| 永吉县| 九江市|