java.util.PriorityQueue<E>
PriorityQueue holds elements on a priority heap, which orders elements
according to the comparator specified at construction or their natural order.
If the queue uses natural order, any element that is not comparable is not
permitted to insert to the queue.
The least element of the specified ordering is stored at the head of the
queue and the greatest element is stored at the tail of the queue.
PriorityQueue is not synchronized. If multiple threads will access it
concurrently, use the PriorityBlockingQueue.
Summary
Public Constructors
Public Methods
add,
addAll,
clear,
contains,
containsAll,
isEmpty,
iterator,
remove,
removeAll,
retainAll,
size,
toArray,
toArray,
toString
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
add,
addAll,
clear,
contains,
containsAll,
equals,
hashCode,
isEmpty,
iterator,
remove,
removeAll,
retainAll,
size,
toArray,
toArray
Methods inherited
from interface
java.util.Queue
Details
Public Constructors
public
PriorityQueue()
Constructs a priority queue with the capacity of 11 and natural ordering.
public
PriorityQueue(int initialCapacity)
Constructs a priority queue with specified capacity and natural ordering.
Parameters
initialCapacity
| the specified capacity. |
public
PriorityQueue(int initialCapacity, Comparator<? super E> comparator)
Constructs a priority queue with specified capacity and comparator.
Parameters
initialCapacity
| the specified capacity. |
comparator
| the specified comparator. If it is null, the natural
ordering will be used. |
public
PriorityQueue(Collection<? extends E> c)
Constructs a priority queue that contains the elements of a collection.
The constructed priority queue has the initial capacity of 110% the
collection. And the priority queue uses natural ordering to order its
elements.
Parameters
c
| the collection whose elements will be added to the priority
queue to be constructed. |
Throws
ClassCastException
| if any of the elements in the collection is
not comparable. |
| if any of the elements in the collection is
null.
|
public
PriorityQueue(PriorityQueue<? extends E> c)
Constructs a priority queue that contains the elements of another
priority queue. The constructed priority queue has the initial capacity
of 110% the latter one. And the two priority queue has the same
comparator.
Parameters
c
| the priority queue whose elements will be added to the priority
queue to be constructed.
|
public
PriorityQueue(SortedSet<? extends E> c)
Constructs a priority queue that contains the elements of a sorted set.
The constructed priority queue has the initial capacity of 110% the
sorted set. And the priority queue has the same comparator of the sorted
set.
Parameters
c
| the sorted set whose elements will be added to the priority
queue to be constructed.
|
Public Methods
public
boolean
add(E o)
Adds the specified object to the priority queue.
Parameters
o
| the object to be added. |
Throws
ClassCastException
| if the element cannot be compared with the
elements in the priority queue using the ordering of the priority
queue. |
| if the element is null.
|
public
void
clear()
Removes all the elements of the priority queue.
public
Comparator<? super E>
comparator()
Gets the comparator of the priority queue.
Returns
- the comparator of the priority queue. Null if the natural
ordering is used.
public
Iterator<E>
iterator()
Gets the iterator of the priority queue, which will not return elements
in any specified ordering.
Returns
- the iterator of the priority queue.
public
boolean
offer(E o)
Inserts the element to the priority queue.
Throws
ClassCastException
| if the element cannot be compared with the
elements in the priority queue using the ordering of the priority
queue. |
| if the element is null.
|
public
E
peek()
Gets but not removes the head of the queue.
Returns
- the head of the queue. Null if the queue is empty.
public
E
poll()
Gets and removes the head of the queue.
Returns
- the head of the queue. Null if the queue is empty.
public
boolean
remove(Object o)
Removes the specified object of the priority queue.
Parameters
o
| the object to be removed. |
Returns
- true if the object is in the priority queue, false if the object
is not in the priority queue.
public
int
size()
Gets the size of the priority queue. If the size of the queue is greater
than the Integer.MAX, then it returns Integer.MAX.
Returns
- the size of the priority queue.