public class DoubleArrayFIFOQueue extends AbstractDoublePriorityQueue
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
null (FIFO queues have no comparator). |
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.
|
int |
size()
Returns the number of elements in this queue.
|
void |
trim()
Trims the queue to the smallest possible size.
|
dequeue, enqueue, first, lastchanged, isEmptyequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitchanged, isEmptypublic static final int INITIAL_CAPACITY
public DoubleArrayFIFOQueue(int capacity)
capacity - the initial capacity of this queue.public DoubleArrayFIFOQueue()
public DoubleComparator comparator()
null (FIFO queues have no comparator).null.PriorityQueue.comparator()public double dequeueDouble()
DoublePriorityQueuepublic double dequeueLastDouble()
NoSuchElementException - if the queue is empty.public void enqueue(double x)
DoublePriorityQueuex - the element to enqueue.public void enqueueFirst(double x)
public double firstDouble()
public double lastDouble()
lastDouble in interface DoublePriorityQueuelastDouble in class AbstractDoublePriorityQueuepublic void clear()
PriorityQueuepublic void trim()
public int size()
PriorityQueue