Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

priorityqueue java

作者:疾风雨辰   发布日期:2026-01-13   浏览:52

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

public class PriorityQueueExample {
    public static void main(String[] args) {
        // 创建一个默认的优先级队列,它按照元素的自然顺序进行排序
        PriorityQueue<Integer> pq = new PriorityQueue<>();

        // 添加元素到优先级队列
        pq.offer(10);
        pq.offer(30);
        pq.offer(20);
        pq.offer(5);

        // 输出优先级队列的元素(按优先级顺序)
        System.out.println("Priority Queue elements: ");
        while (!pq.isEmpty()) {
            System.out.print(pq.poll() + " ");  // poll() 移除并返回队列头部的元素
        }
        System.out.println();

        // 创建一个自定义比较器的优先级队列,按照降序排列
        PriorityQueue<Integer> pqDesc = new PriorityQueue<>(Comparator.reverseOrder());
        pqDesc.offer(10);
        pqDesc.offer(30);
        pqDesc.offer(20);
        pqDesc.offer(5);

        // 输出按降序排列的优先级队列的元素
        System.out.println("Priority Queue elements in descending order: ");
        while (!pqDesc.isEmpty()) {
            System.out.print(pqDesc.poll() + " ");
        }
    }
}

解释说明:

  1. PriorityQueue 是 Java 中的一个实现 Queue 接口的类,它根据元素的优先级进行排序,默认情况下是按升序排列。
  2. offer(E e) 方法用于将元素插入到优先级队列中。如果插入成功,则返回 true;否则返回 false
  3. poll() 方法用于移除并返回队列中的头部元素(即优先级最高的元素)。如果队列为空,则返回 null
  4. Comparator.reverseOrder() 可以用来创建一个自定义的比较器,使得优先级队列按降序排列。

示例输出:

Priority Queue elements: 
5 10 20 30 
Priority Queue elements in descending order: 
30 20 10 5 

上一篇:java enum类用法

下一篇:java 获取当前年份

大家都在看

java url decode

java判断是windows还是linux

java连接数据库的代码

java date类型比较大小

java djl

ubuntu 卸载java

es java api

java读取excel中的图片

java新建

java base64 加密

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站