Class ObjectHeapPriorityQueue<K>
- All Implemented Interfaces:
PriorityQueue<K>,Serializable
public class ObjectHeapPriorityQueue<K> extends Object implements PriorityQueue<K>, Serializable
Instances of this class represent a priority queue using a heap. The heap is
enlarged as needed, but it is never shrunk. Use the trim() method to
reduce its size, if necessary.
- See Also:
- Serialized Form
-
Constructor Summary
Constructors Constructor Description ObjectHeapPriorityQueue()Creates a new empty queue using the natural order.ObjectHeapPriorityQueue(int capacity)Creates a new empty queue with a given capacity and using the natural order.ObjectHeapPriorityQueue(int capacity, Comparator<? super K> c)Creates a new empty queue with a given capacity and comparator.ObjectHeapPriorityQueue(Collection<? extends K> collection)Creates a queue using the elements in a collection using the natural order.ObjectHeapPriorityQueue(Collection<? extends K> collection, Comparator<? super K> c)Creates a queue using the elements in a collection using a given comparator.ObjectHeapPriorityQueue(Comparator<? super K> c)Creates a new empty queue with a given comparator.ObjectHeapPriorityQueue(K[] a)Wraps a given array in a queue using the natural order.ObjectHeapPriorityQueue(K[] a, int size)Wraps a given array in a queue using the natural order.ObjectHeapPriorityQueue(K[] a, int size, Comparator<? super K> c)Wraps a given array in a queue using a given comparator.ObjectHeapPriorityQueue(K[] a, Comparator<? super K> c)Wraps a given array in a queue using a given comparator. -
Method Summary
Modifier and Type Method Description voidchanged()Notifies the queue that the first element has changed (optional operation).voidclear()Removes all elements from this queue.Comparator<? super K>comparator()Returns the comparator associated with this queue, ornullif it uses its elements' natural ordering.Kdequeue()Dequeues the first element from the queue.voidenqueue(K x)Enqueues a new element.Kfirst()Returns the first element of the queue.intsize()Returns the number of elements in this queue.voidtrim()Trims the underlying heap array so that it has exactlysize()elements.
-
Constructor Details
-
ObjectHeapPriorityQueue
Creates a new empty queue with a given capacity and comparator.- Parameters:
capacity- the initial capacity of this queue.c- the comparator used in this queue, ornullfor the natural order.
-
ObjectHeapPriorityQueue
public ObjectHeapPriorityQueue(int capacity)Creates a new empty queue with a given capacity and using the natural order.- Parameters:
capacity- the initial capacity of this queue.
-
ObjectHeapPriorityQueue
Creates a new empty queue with a given comparator.- Parameters:
c- the comparator used in this queue, ornullfor the natural order.
-
ObjectHeapPriorityQueue
public ObjectHeapPriorityQueue()Creates a new empty queue using the natural order. -
ObjectHeapPriorityQueue
Wraps a given array in a queue using a given comparator.The queue returned by this method will be backed by the given array. The first
sizeelement of the array will be rearranged so to form a heap (this is more efficient than enqueing the elements ofaone by one).- Parameters:
a- an array.size- the number of elements to be included in the queue.c- the comparator used in this queue, ornullfor the natural order.
-
ObjectHeapPriorityQueue
Wraps a given array in a queue using a given comparator.The queue returned by this method will be backed by the given array. The elements of the array will be rearranged so to form a heap (this is more efficient than enqueing the elements of
aone by one).- Parameters:
a- an array.c- the comparator used in this queue, ornullfor the natural order.
-
ObjectHeapPriorityQueue
Wraps a given array in a queue using the natural order.The queue returned by this method will be backed by the given array. The first
sizeelement of the array will be rearranged so to form a heap (this is more efficient than enqueing the elements ofaone by one).- Parameters:
a- an array.size- the number of elements to be included in the queue.
-
ObjectHeapPriorityQueue
Wraps a given array in a queue using the natural order.The queue returned by this method will be backed by the given array. The elements of the array will be rearranged so to form a heap (this is more efficient than enqueing the elements of
aone by one).- Parameters:
a- an array.
-
ObjectHeapPriorityQueue
Creates a queue using the elements in a collection using a given comparator.This constructor is more efficient than enqueing the elements of
collectionone by one.- Parameters:
collection- a collection; its elements will be used to initialize the queue.c- the comparator used in this queue, ornullfor the natural order.
-
ObjectHeapPriorityQueue
Creates a queue using the elements in a collection using the natural order.This constructor is more efficient than enqueing the elements of
collectionone by one.- Parameters:
collection- a collection; its elements will be used to initialize the queue.
-
-
Method Details
-
enqueue
Description copied from interface:PriorityQueueEnqueues a new element.- Specified by:
enqueuein interfacePriorityQueue<K>- Parameters:
x- the element to enqueue.
-
dequeue
Description copied from interface:PriorityQueueDequeues the first element from the queue.- Specified by:
dequeuein interfacePriorityQueue<K>- Returns:
- the dequeued element.
-
first
Description copied from interface:PriorityQueueReturns the first element of the queue.- Specified by:
firstin interfacePriorityQueue<K>- Returns:
- the first element.
-
changed
public void changed()Description copied from interface:PriorityQueueNotifies the queue that the first element has changed (optional operation).This default implementation just throws an
UnsupportedOperationException.- Specified by:
changedin interfacePriorityQueue<K>
-
size
public int size()Description copied from interface:PriorityQueueReturns the number of elements in this queue.- Specified by:
sizein interfacePriorityQueue<K>- Returns:
- the number of elements in this queue.
-
clear
public void clear()Description copied from interface:PriorityQueueRemoves all elements from this queue.- Specified by:
clearin interfacePriorityQueue<K>
-
trim
public void trim()Trims the underlying heap array so that it has exactlysize()elements. -
comparator
Description copied from interface:PriorityQueueReturns the comparator associated with this queue, ornullif it uses its elements' natural ordering.- Specified by:
comparatorin interfacePriorityQueue<K>- Returns:
- the comparator associated with this sorted set, or
nullif it uses its elements' natural ordering.
-