如何自定义 PriorityQueue 的比较器

发布时间:2025-02-12 06:54:03 作者:小樊
来源:亿速云 阅读:81

要自定义 PriorityQueue 的比较器,您需要创建一个实现 Comparator 接口的类,并重写 compare 方法

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

public class CustomPriorityQueue {
    public static void main(String[] args) {
        // 创建一个自定义比较器的实例
        Comparator<Integer> customComparator = new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                // 自定义比较逻辑,例如降序排列
                return o2 - o1;
            }
        };

        // 使用自定义比较器创建 PriorityQueue
        PriorityQueue<Integer> priorityQueue = new PriorityQueue<>(customComparator);

        // 向 PriorityQueue 中添加元素
        priorityQueue.add(5);
        priorityQueue.add(3);
        priorityQueue.add(8);
        priorityQueue.add(1);

        // 输出 PriorityQueue 中的元素
        while (!priorityQueue.isEmpty()) {
            System.out.println(priorityQueue.poll());
        }
    }
}

在这个示例中,我们创建了一个自定义比较器 customComparator,它实现了 Comparator 接口并重写了 compare 方法。在 compare 方法中,我们定义了降序排列的逻辑(o2 - o1)。然后,我们使用这个自定义比较器创建了一个 PriorityQueue 实例,并向其中添加了四个整数。最后,我们使用 while 循环输出优先队列中的所有元素。

推荐阅读:
  1. Hadoop中如何自定义
  2. Mybatis自定义插件

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java

上一篇:PriorityQueue 是线程安全的吗

下一篇:PriorityQueue 在实际应用中有哪些案例

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》