public class LongArrayFIFOQueue extends AbstractLongPriorityQueue implements 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 |
---|
LongArrayFIFOQueue()
Creates a new empty queue with standard initial capacity.
|
LongArrayFIFOQueue(int capacity)
Creates a new empty queue with given capacity.
|
Modifier and Type | Method and Description |
---|---|
void |
clear()
Removes all elements from this queue.
|
LongComparator |
comparator()
Returns
null (FIFO queues have no comparator). |
long |
dequeueLastLong()
Dequeues the last element from the queue.
|
long |
dequeueLong()
Dequeues the first element from the queue.
|
void |
enqueue(long x)
Enqueues a new element.
|
void |
enqueueFirst(long x)
Enqueues a new element as the first element (in dequeuing order) of the queue.
|
long |
firstLong()
Returns the first element of the queue.
|
long |
lastLong()
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, last
changed, isEmpty
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
changed, isEmpty
public static final int INITIAL_CAPACITY
public LongArrayFIFOQueue(int capacity)
capacity
- the initial capacity of this queue.public LongArrayFIFOQueue()
public LongComparator comparator()
null
(FIFO queues have no comparator).comparator
in interface LongPriorityQueue
comparator
in interface PriorityQueue<java.lang.Long>
null
.PriorityQueue.comparator()
public long dequeueLong()
LongPriorityQueue
dequeueLong
in interface LongPriorityQueue
public long dequeueLastLong()
java.util.NoSuchElementException
- if the queue is empty.public void enqueue(long x)
LongPriorityQueue
enqueue
in interface LongPriorityQueue
x
- the element to enqueue.public void enqueueFirst(long x)
public long firstLong()
firstLong
in interface LongPriorityQueue
public long lastLong()
lastLong
in interface LongPriorityQueue
lastLong
in class AbstractLongPriorityQueue
public void clear()
PriorityQueue
clear
in interface PriorityQueue<java.lang.Long>
public void trim()
public int size()
PriorityQueue
size
in interface PriorityQueue<java.lang.Long>