public class LongHeapPriorityQueue extends AbstractLongPriorityQueue
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.
Constructor and Description |
---|
LongHeapPriorityQueue()
Creates a new empty queue using the natural order.
|
LongHeapPriorityQueue(java.util.Collection<? extends java.lang.Long> collection)
Creates a queue using the elements in a collection using the natural order.
|
LongHeapPriorityQueue(java.util.Collection<? extends java.lang.Long> collection,
LongComparator c)
Creates a queue using the elements in a collection using a given comparator.
|
LongHeapPriorityQueue(int capacity)
Creates a new empty queue with a given capacity and using the natural order.
|
LongHeapPriorityQueue(int capacity,
LongComparator c)
Creates a new empty queue with a given capacity and comparator.
|
LongHeapPriorityQueue(long[] a)
Wraps a given array in a queue using the natural order.
|
LongHeapPriorityQueue(long[] a,
int size)
Wraps a given array in a queue using the natural order.
|
LongHeapPriorityQueue(long[] a,
int size,
LongComparator c)
Wraps a given array in a queue using a given comparator.
|
LongHeapPriorityQueue(long[] a,
LongComparator c)
Wraps a given array in a queue using a given comparator.
|
LongHeapPriorityQueue(LongCollection collection)
Creates a queue using the elements in a type-specific collection using the natural order.
|
LongHeapPriorityQueue(LongCollection collection,
LongComparator c)
Creates a queue using the elements in a type-specific collection using a given comparator.
|
LongHeapPriorityQueue(LongComparator c)
Creates a new empty queue with a given comparator.
|
Modifier and Type | Method and Description |
---|---|
void |
changed()
Notifies the queue that the first element has changed (optional operation).
|
void |
clear()
Removes all elements from this queue.
|
LongComparator |
comparator()
Returns the comparator associated with this sorted set, or null if it uses its elements' natural ordering.
|
long |
dequeueLong()
Dequeues the first element from the queue.
|
void |
enqueue(long x)
Enqueues a new element.
|
long |
firstLong()
Returns the first element of the queue.
|
int |
size()
Returns the number of elements in this queue.
|
void |
trim()
Trims the underlying heap array so that it has exactly
size() elements. |
dequeue, enqueue, first, last, lastLong
isEmpty
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
isEmpty
public LongHeapPriorityQueue(int capacity, LongComparator c)
capacity
- the initial capacity of this queue.c
- the comparator used in this queue, or null
for the natural order.public LongHeapPriorityQueue(int capacity)
capacity
- the initial capacity of this queue.public LongHeapPriorityQueue(LongComparator c)
c
- the comparator used in this queue, or null
for the natural order.public LongHeapPriorityQueue()
public LongHeapPriorityQueue(long[] a, int size, LongComparator c)
The queue returned by this method will be backed by the given array.
The first size
element of the array will be rearranged so to form a heap (this is
more efficient than enqueing the elements of a
one by one).
a
- an array.size
- the number of elements to be included in the queue.c
- the comparator used in this queue, or null
for the natural order.public LongHeapPriorityQueue(long[] a, LongComparator c)
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 a
one by one).
a
- an array.c
- the comparator used in this queue, or null
for the natural order.public LongHeapPriorityQueue(long[] a, int size)
The queue returned by this method will be backed by the given array.
The first size
element of the array will be rearranged so to form a heap (this is
more efficient than enqueing the elements of a
one by one).
a
- an array.size
- the number of elements to be included in the queue.public LongHeapPriorityQueue(long[] a)
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 a
one by one).
a
- an array.public LongHeapPriorityQueue(LongCollection collection, LongComparator c)
This constructor is more efficient than enqueing the elements of collection
one by one.
collection
- a collection; its elements will be used to initialize the queue.c
- the comparator used in this queue, or null
for the natural order.public LongHeapPriorityQueue(LongCollection collection)
This constructor is
more efficient than enqueing the elements of collection
one by one.
collection
- a collection; its elements will be used to initialize the queue.public LongHeapPriorityQueue(java.util.Collection<? extends java.lang.Long> collection, LongComparator c)
This constructor is more efficient than enqueing the elements of collection
one by one.
collection
- a collection; its elements will be used to initialize the queue.c
- the comparator used in this queue, or null
for the natural order.public LongHeapPriorityQueue(java.util.Collection<? extends java.lang.Long> collection)
This constructor is
more efficient than enqueing the elements of collection
one by one.
collection
- a collection; its elements will be used to initialize the queue.public void enqueue(long x)
LongPriorityQueue
x
- the element to enqueue.public long dequeueLong()
LongPriorityQueue
public long firstLong()
LongPriorityQueue
public void changed()
PriorityQueue
changed
in interface PriorityQueue<java.lang.Long>
changed
in class AbstractPriorityQueue<java.lang.Long>
public int size()
PriorityQueue
public void clear()
PriorityQueue
public void trim()
size()
elements.public LongComparator comparator()
LongPriorityQueue
Note that this specification strengthens the one given in PriorityQueue.comparator()
.
null
if it uses its elements' natural ordering.PriorityQueue.comparator()