Java中的Java.util.PriorityQueue类
它是基于优先级堆的优先队列。
- 此类中的元素按自然顺序排列,或者取决于我们在构建时使用的构造函数。
- 它不允许空指针。
- 如果它依赖于自然排序,则不允许插入无法比较的对象。
构造函数:
- PriorityQueue(): 创建一个具有默认初始容量(11)的PriorityQueue,根据它们的自然顺序对它们的元素进行排序。
- PriorityQueue(Collection c): 创建包含指定集合中的元素的PriorityQueue。
- PriorityQueue(int initialCapacity) :创建具有指定初始容量的PriorityQueue,根据其自然排序对其元素进行排序。
- PriorityQueue(int initialCapacity, Comparator comparator): 创建具有指定初始容量的PriorityQueue,根据指定的比较器对其元素进行排序。
- PriorityQueue(PriorityQueue c) :创建一个包含指定优先级队列中元素的PriorityQueue。
- PriorityQueue(SortedSet c) :创建一个包含指定排序集中元素的PriorityQueue。
声明:
方法:
add(element) : java.util.PriorityQueue.add() 向优先队列添加元素。
语法 :
参数 :
element : 需要添加的元素。
Return :
返回 true。
异常 :
– ClassCastException
– NullPointerException
comparator() : java.util.PriorityQueue.comparator() 对队列中的元素进行排序。
语法 :
Return :
对队列进行排序或返回 null,如果是自然排序的。
contains(Object obj) : java.util.PriorityQueue.contains(obj) 如果优先队列包含元素“obj”,则返回 true。
语法 :
参数 :
obj : 要检查的对象
Return :
如果存在对象,则返回 true,否则返回 false
iterator() : java.util.PriorityQueue.iterator() 迭代队列中的元素。
语法 :
Return :
迭代队列中的元素。
offer(element) : java.util.PriorityQueue.offer() 将特定元素插入给定的优先队列中。
语法 :
参数 :
element : 要输入的特定元素。
Return :
返回 true。
异常 :
– ClassCastException
– NullPointerException
peek() : java.util.PriorityQueue.peek() 确定队列的头元素。
语法 :
Return :
如果存在头部,则返回,否则返回 null。
poll() : java.util.PriorityQueue.poll() 确定头元素,然后将其删除。
remove(Object obj) : java.util.PriorityQueue.remove() 从队列中删除特定对象。
size() : java.util.PriorityQueue.size() 返回优先队列中的元素数量。
toArray() : java.util.PriorityQueue.toArray() 返回包含 PriorityQueue 元素的数组。
toArray(): java.util.PriorityQueue.toArray() 返回一个包含PriorityQueue所有元素的数组。
toArray(T[] array): java.util.PriorityQueue.toArray(T[] a) 返回包含PriorityQueue元素的数组。
clear(): java.util.PriorityQueue.clear() 清空PriorityQueue中所有元素。
输出 :