📅  最后修改于: 2023-12-03 15:31:35.220000             🧑  作者: Mango
java.util.PriorityQueue
类是一个优先级队列,基于优先级堆实现。该类提供了一种先进先出的队列访问方式,但是其中的元素按照优先级排序。
public class PriorityQueue<E>
extends AbstractQueue<E>
implements Serializable
PriorityQueue()
: 创建一个初始容量为 11、元素按自然顺序排序的空优先级队列。PriorityQueue(Collection<? extends E> c)
: 创建一个包含指定集合元素的优先级队列。PriorityQueue(int initialCapacity)
: 创建一个指定初始容量,元素按自然顺序排序的空优先级队列。PriorityQueue(int initialCapacity, Comparator<? super E> comparator)
:创建一个初始容量为 initialCapacity,按指定比较器排序的空优先级队列。boolean add(E e)
: 将指定元素插入此优先级队列。void clear()
: 从此优先级队列中移除所有元素。Comparator<? super E> comparator()
: 返回用于对此队列中的元素进行排序的比较器,如果此队列按自然顺序排序,则返回 null。boolean contains(Object o)
: 如果此队列包含指定的元素,则返回 true。Iterator<E> iterator()
: 返回此队列中的元素的迭代器。boolean offer(E e)
: 将指定元素插入此优先级队列。E peek()
: 检索但不移除此队列的头,如果此队列为空,则返回 null。E poll()
: 检索并移除此队列的头,如果此队列为空,则返回 null。boolean remove(Object o)
: 从此队列中移除指定元素的单个实例(如果存在)。int size()
: 返回此队列中的元素数量。import java.util.PriorityQueue;
public class PriorityQueueExample {
public static void main(String[] args) {
PriorityQueue<Integer> pq = new PriorityQueue<Integer>();
pq.add(10);
pq.add(20);
pq.add(15);
pq.add(5);
pq.add(30);
pq.add(25);
pq.add(35);
System.out.println("PriorityQueue elements: ");
while (!pq.isEmpty()) {
System.out.println(pq.poll());
}
}
}
输出结果:
PriorityQueue elements:
5
10
15
20
25
30
35
java.util.PriorityQueue
类是 Java 集合框架中提供的一种基于优先级堆的优先级队列实现。它提供了一种先进先出的队列访问方式,但是其中的元素按照优先级排序。开发者可以使用该类的各种构造函数和方法来实现自己的应用程序。