The java.util.PriorityQueue class is an unbounded priority queue based on a priority heap.Following are the important points about PriorityQueue −
The elements of the priority queue are ordered according to their natural ordering, or by a Comparator provided at queue construction time, depending on which constructor is used.
A priority queue does not permit null elements.
A priority queue relying on natural ordering also does not permit insertion of non-comparable objects.
Following is the declaration for java.util.PriorityQueue class −
public class PriorityQueue<E> extends AbstractQueue<E> implements Serializable
Following is the parameter for java.util.PriorityQueue class −
E − This is the type of elements held in this collection.
Sr.No. | Constructor & Description |
---|---|
1 | PriorityQueue() This creates a PriorityQueue with the default initial capacity (11) that orders its elements according to their natural ordering. |
2 | PriorityQueue(Collection<? extends E> c) This creates a PriorityQueue containing the elements in the specified collection. |
3 | PriorityQueue(int initialCapacity) This creates a PriorityQueue with the specified initial capacity that orders its elements according to their natural ordering. |
4 | PriorityQueue(int initialCapacity, Comparator<? super E> comparator) This creates a PriorityQueue with the specified initial capacity that orders its elements according to the specified comparator. |
5 | PriorityQueue(PriorityQueue<? extends E> c) This creates a PriorityQueue containing the elements in the specified priority queue. |
6 | PriorityQueue(SortedSet<? extends E> c) This creates a PriorityQueue containing the elements in the specified sorted set. |
Sr.No. | Method & Description |
---|---|
1 | boolean add(E e)
This method inserts the specified element into this priority queue. |
2 | void clear()
This method removes all of the elements from this priority queue. |
3 | Comparator<? super E> comparator()
This method returns the comparator used to order the elements in this queue, or null if this queue is sorted according to the natural ordering of its elements. |
4 | boolean contains(Object o)
This method returns true if this queue contains the specified element. |
5 | Iterator<E> iterator()
This method returns an iterator over the elements in this queue. |
6 | boolean offer(E e)
This method inserts the specified element into this priority queue. |
7 | E peek()
This method retrieves, but does not remove, the head of this queue, or returns null if this queue is empty. |
8 | E poll()
This method retrieves and removes the head of this queue, or returns null if this queue is empty. |
9 | boolean remove(Object o)
This method removes a single instance of the specified element from this queue, if it is present. |
10 | int size()
This method returns the number of elements in this collection. |
11 | Object[] toArray()
This method returns an array containing all of the elements in this queue. |
12 | <T> T[] toArray(T[] a)
This method returns an array containing all of the elements in this queue; the runtime type of the returned array is that of the specified array. |
This class inherits methods from the following classes −