java类PriorityQueue

作者 : 资源姬 2021-02-11分类:博客

继承关系:

  • java.lang.Object
  • java.util.AbstractCollection<E>
  • java.util.AbstractQueue<E>
  • java.util.PriorityQueue<E>

基于优先级堆的无限优先级queue 。 优先级队列的元素根据它们的有序natural ordering ,或由一个Comparator在队列构造的时候提供,这取决于所使用的构造方法。 优先队列不允许null元素。 依靠自然排序的优先级队列也不允许插入不可比较的对象(这样做可能导致ClassCastException )。
该队列的头部是相对于指定顺序的最小元素。 如果多个元素被绑定到最小值,那么头就是这些元素之一 – 关系被任意破坏。 队列检索操作poll , remove , peek和element访问在队列的头部的元件。

优先级队列是无限制的,但是具有管理用于在队列上存储元素的数组的大小的内部容量 。 它始终至少与队列大小一样大。 当元素被添加到优先级队列中时,其容量会自动增长。 没有规定增长政策的细节。

该类及其迭代器实现Collection和Iterator接口的所有可选方法。 方法iterator()中提供的迭代器不能保证以任何特定顺序遍历优先级队列的元素。 如果需要有序遍历,请考虑使用Arrays.sort(pq.toArray()) 。

请注意,此实现不同步。 如果任何线程修改队列,多线程不应同时访问PriorityQueue实例。 而是使用线程安全的PriorityBlockingQueue类。

实现注意事项:此实现提供了O(日志(n))的时间入队和出队方法( offer , poll , remove()和add ); remove(Object)和contains(Object)方法的线性时间; 和恒定时间检索方法( peek , element和size )。

这个班是Java Collections Framework的会员 。

从以下版本开始:
1.5

构造方法摘要

Constructor and Description
PriorityQueue()

创建一个PriorityQueue ,具有默认的初始容量(11),根据它们的natural ordering对其元素进行排序 。
PriorityQueue(Collection<? extends E> c)

创建一个 PriorityQueue集合中的元素的PriorityQueue。
PriorityQueue(Comparator<? super E> comparator)

创建具有默认初始容量的 PriorityQueue ,并根据指定的比较器对其元素进行排序。
PriorityQueue(int initialCapacity)

创建PriorityQueue与根据它们的排序其元素指定的初始容量natural ordering 。
PriorityQueue(int initialCapacity, Comparator<? super E> comparator)

创建具有 PriorityQueue初始容量的PriorityQueue,根据指定的比较器对其元素进行排序。
PriorityQueue(PriorityQueue<?
extends E> c)

创建包含 PriorityQueue优先级队列中的元素的PriorityQueue。
PriorityQueue(SortedSet<? extends E> c)

创建一个 PriorityQueue指定排序集中的元素的PriorityQueue。

方法摘要:

booleanadd(E e)

将指定的元素插入到此优先级队列中。
voidclear()

从此优先级队列中删除所有元素。
Comparator<? super E>comparator()

返回用于为了在这个队列中的元素,或比较null如果此队列根据所述排序natural ordering的元素。
booleancontains(Object o)

如果此队列包含指定的元素,则返回 true
Iterator<E>iterator()

返回此队列中的元素的迭代器。
booleanoffer(E e)

将指定的元素插入到此优先级队列中。
Epeek()

检索但不删除此队列的头,如果此队列为空,则返回 null
Epoll()

检索并删除此队列的头,如果此队列为空,则返回 null
booleanremove(Object o)

从该队列中删除指定元素的单个实例(如果存在)。
intsize()

返回此集合中的元素数。
Spliterator<E>spliterator()

在此队列中的元素上创建late-binding失败快速 Spliterator
Object[]toArray()

返回一个包含此队列中所有元素的数组。
<T> T[]toArray(T[] a)

返回一个包含此队列中所有元素的数组;返回的数组的运行时类型是指定数组的运行时类型。

关于收费
微薄收入,仅用于维持服务器。本站模型区全部免费
关于VIP
VIP可以免费下载。月度、年度vip每天可免费下载9次,应该够用。终身vip每天可下载19次,右侧成为vip
注意,请不要重复点击某个资源的下载按钮,每次点击都会计入次数
资源失效处理
1、如果是蓝奏云,将下载链接中的lanzous换成lanzoux即可
2、如果是百度云失效了,那请点右侧发邮件给客服,或者在评论区指出,也可在菜单栏【有问必答】说明
3、如果是其他原因,请右侧按钮发邮件给我

发表评论