Java优先队列及常用方法

优先队列是一种特殊的队列,元素根据优先级决定出队顺序,Java中通过PriorityQueue类实现。本文介绍了优先队列的基本概念,包括最大优先队列和最小优先队列,并列举了常用操作。注意,默认情况下PriorityQueue实现的是最小优先队列,如需最大优先队列,需自定义Comparator。
摘要由CSDN通过智能技术生成

什么是优先队列

普通的队列都是先入先出的形式,元素在队尾加入,在队头删除。优先队列中,元素被赋予优先级,具有最高优先级的元素先出。通常采用二叉堆结构实现。
所以优先队列和堆一样,有两种形式:最大优先队列最小优先队列
最大优先队列是指最大值具有最高优先级。
最小优先队列是值最小值具有最高优先级。
每次的push和pop操作,队列都会动态的调整。
Java中PriorityQueue类实现优先队列。

常用方法

public boolean add(E e)//在队尾添加元素
public E peek();//取出队头元素
public boolean remove(Object o)//删除指定元素
public boolean contains(Object o)//检查是否包含元素
public Object[] toArray()//将队列转换成数组
public int size()//返回元素个数
public void clear()//清空队列
public E poll()//返回并清除队头元素
public boolean isEmpty()
  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值