public class DoubleArrayFIFOQueue extends java.lang.Object implements DoublePriorityQueue, java.io.Serializable
Instances of this class represent a FIFO queue using a backing array in a
circular way. The array is enlarged and shrunk as needed. You can use the
trim() method to reduce its memory usage, if necessary.
This class provides additional methods that implement a deque (double-ended queue).
| Modifier and Type | Field and Description |
|---|---|
static int |
INITIAL_CAPACITY
The standard initial capacity of a queue.
|
| Constructor and Description |
|---|
DoubleArrayFIFOQueue()
Creates a new empty queue with standard initial
capacity.
|
DoubleArrayFIFOQueue(int capacity)
Creates a new empty queue with given capacity.
|
| Modifier and Type | Method and Description |
|---|---|
void |
clear()
Removes all elements from this queue.
|
DoubleComparator |
comparator()
Returns the comparator associated with this priority queue, or null if it
uses its elements' natural ordering.
|
double |
dequeueDouble()
Dequeues the first element from the queue.
|
double |
dequeueLastDouble()
Dequeues the last element from the queue.
|
void |
enqueue(double x)
Enqueues a new element.
|
void |
enqueueFirst(double x)
Enqueues a new element as the first element (in dequeuing order) of the
queue.
|
double |
firstDouble()
Returns the first element of the queue.
|
double |
lastDouble()
Returns the last element of the queue, that is, the element the would be
dequeued last (optional operation).
|
int |
size()
Returns the number of elements in this queue.
|
void |
trim()
Trims the queue to the smallest possible size.
|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitdequeue, enqueue, first, lastchanged, isEmptypublic static final int INITIAL_CAPACITY
public DoubleArrayFIFOQueue(int capacity)
capacity - the initial capacity of this queue.public DoubleArrayFIFOQueue()
public DoubleComparator comparator()
Note that this specification strengthens the one given in
PriorityQueue.comparator().
This implementation returns null (FIFO queues have no comparator).
comparator in interface DoublePriorityQueuecomparator in interface PriorityQueue<java.lang.Double>PriorityQueue.comparator()public double dequeueDouble()
DoublePriorityQueuedequeueDouble in interface DoublePriorityQueueDoublePriorityQueue.dequeue()public double dequeueLastDouble()
java.util.NoSuchElementException - if the queue is empty.public void enqueue(double x)
DoublePriorityQueueenqueue in interface DoublePriorityQueuex - the element to enqueue.PriorityQueue.enqueue(Object)public void enqueueFirst(double x)
x - the element to enqueue.public double firstDouble()
DoublePriorityQueuefirstDouble in interface DoublePriorityQueueDoublePriorityQueue.first()public double lastDouble()
DoublePriorityQueue
This default implementation just throws an
UnsupportedOperationException.
lastDouble in interface DoublePriorityQueueDoublePriorityQueue.last()public void clear()
PriorityQueueclear in interface PriorityQueue<java.lang.Double>public void trim()
public int size()
PriorityQueuesize in interface PriorityQueue<java.lang.Double>