Java中PriorityQueue的使用
PriorityQueue
- 注意事项
- new 一个 PriorityQueue
- curd
- offer(obj), add(obj)
- element(), peek():查询堆顶的元素,peek很形象,中文是“窥视”的意思,表示只看而不移除
- remove(), poll():优先队列自带的函数,剔除堆顶元素
- remove(obj),继承自 Collection 的函数,精确移除
注意事项
- 使用PriorityQueue时,需要
import Java.util.PriorityQueue
- 使用优先队列,常常需要我们自定义比较函数
import java.util.Comparator; import java.util.PriorityQueue; public class test { public static void main(String[] args) { // 创建了一个comparator Comparator<Integer> cmp = new Comparator<Integer>() { @Override public int compare(Integer o1, Integer o2) { return o2 - o1; } }; // 提供了优先队列的比较方法和大小,大小可以缺省 PriorityQueue<Integer> maxHeap = new PriorityQueue<Integer>(5, cmp); for (int i = 0; i < 6; i++) { maxHeap.offer(i); } System.out.println("maxHeap: " + maxHeap); System.out.println("first of maxHeap: " + maxHeap.peek()); System.out.println("try to remove first of maxHeap: " + maxHeap.poll()); System.out.println("now maxHeap: " + maxHeap); System.out.println("use remove(obj) to remove specific object"); maxHeap.remove(3); System.out.println("now maxHeap: " + maxHeap); } }
如果您有任何关于文章的建议,欢迎评论或在 GitHub 提 PR
作者:dutrmp19
本文为作者原创,转载请在 文章开头 注明出处:https://www.cnblogs.com/dutrmp19/p/15920789.html
遵循 CC 4.0 BY-SA 版权协议
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本