E - the type of comparable elements held in this queuepublic class PriorityQueue<E extends Comparable<E>> extends Object
null elements.
The queue can be set to accept or reject the insertion of non unique elements through the method setUniqueness.
Uniqueness is disabled by default.
The head of this queue is the least element with respect to the specified ordering. If multiple elements are
tied for least value (provided that uniqueness is set to false), the head is one of those elements -- ties are broken
arbitrarily. The queue retrieval operations poll, remove, peek, and element access the element
at the head of the queue.
A priority queue is unbounded, but has an internal capacity governing the size of an array used to store the elements on the queue. It is always at least as large as the queue size. As elements are added to a priority queue, its capacity grows automatically.
Iterating the queue with the method get is not guaranteed to traverse the elements of the priority
queue in any particular order.
Implementation note: this implementation provides O(log(n)) time for the enqueing and dequeing methods (add and
poll ; and constant time for the retrieval methods (peek and size).
| Constructor and Description |
|---|
PriorityQueue()
Creates a
PriorityQueue with the default initial capacity (11) that orders its elements according to their
natural ordering. |
PriorityQueue(int initialCapacity)
Creates a
PriorityQueue with the specified initial capacity that orders its elements according to their
natural ordering. |
| Modifier and Type | Method and Description |
|---|---|
boolean |
add(E e)
Inserts the specified element into this priority queue.
|
void |
clear()
Removes all of the elements from this priority queue.
|
E |
get(int index)
Retrieves the element at the specified index.
|
boolean |
getUniqueness()
Returns a value indicating whether only unique elements are allowed to be inserted.
|
E |
peek()
Retrieves, but does not remove, the head of this queue.
|
E |
poll()
Retrieves and removes the head of this queue, or returns
null if this queue is empty. |
void |
setUniqueness(boolean uniqueness)
Sets a flag indicating whether only unique elements are allowed to be inserted.
|
int |
size()
Returns the number of elements in this queue.
|
public PriorityQueue()
PriorityQueue with the default initial capacity (11) that orders its elements according to their
natural ordering.public PriorityQueue(int initialCapacity)
PriorityQueue with the specified initial capacity that orders its elements according to their
natural ordering.initialCapacity - the initial capacity for this priority queuepublic boolean getUniqueness()
public void setUniqueness(boolean uniqueness)
public boolean add(E e)
uniqueness is enabled and this priority queue already
contains the element, the call leaves the queue unchanged and returns false.ClassCastException - if the specified element cannot be compared with elements currently in this priority queue
according to the priority queue's orderingIllegalArgumentException - if the specified element is nullpublic E peek()
null is returned.public E get(int index)
null is returned.
Iterating the queue by index is not guaranteed to traverse the elements in any particular order.
public int size()
public void clear()
public E poll()
null if this queue is empty.null if this queue is empty.Copyright © 2017. All rights reserved.