public class LongArrayFIFOQueue extends Object implements LongPriorityQueue, 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 |
|---|---|
protected long[] |
array
The backing array.
|
protected int |
end
The end position in
array. |
static int |
INITIAL_CAPACITY
The standard initial capacity of a queue.
|
protected int |
length
The current (cached) length of
array. |
protected int |
start
The start position in
array. |
| 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 the comparator associated with this priority queue, or null if it uses its elements' natural ordering.
|
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, 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.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitdequeue, enqueue, first, lastchanged, isEmptypublic static final int INITIAL_CAPACITY
protected transient long[] array
protected transient int length
array.protected transient int start
protected transient int end
public LongArrayFIFOQueue(int capacity)
capacity - the initial capacity of this queue.public LongArrayFIFOQueue()
public LongComparator comparator()
Note that this specification strengthens the one given in PriorityQueue.comparator().
This implementation returns null (FIFO queues have no comparator).
comparator in interface LongPriorityQueuecomparator in interface PriorityQueue<Long>PriorityQueue.comparator()public long dequeueLong()
LongPriorityQueuedequeueLong in interface LongPriorityQueueLongPriorityQueue.dequeue()public long dequeueLastLong()
NoSuchElementException - if the queue is empty.public void enqueue(long x)
LongPriorityQueueenqueue in interface LongPriorityQueuex - the element to enqueue.PriorityQueue.enqueue(Object)public void enqueueFirst(long x)
x - the element to enqueue.public long firstLong()
LongPriorityQueuefirstLong in interface LongPriorityQueueLongPriorityQueue.first()public long lastLong()
LongPriorityQueueThis default implementation just throws an UnsupportedOperationException.
lastLong in interface LongPriorityQueueLongPriorityQueue.last()public void clear()
PriorityQueueclear in interface PriorityQueue<Long>public void trim()
public int size()
PriorityQueuesize in interface PriorityQueue<Long>Copyright © 2020. All rights reserved.