public class CharArrayFIFOQueue extends java.lang.Object implements CharPriorityQueue, 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 |
|---|---|
protected char[] |
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 |
|---|
CharArrayFIFOQueue()
Creates a new empty queue with standard initial capacity.
|
CharArrayFIFOQueue(int capacity)
Creates a new empty queue with given capacity.
|
| Modifier and Type | Method and Description |
|---|---|
void |
clear() |
it.unimi.dsi.fastutil.chars.CharComparator |
comparator()
Returns the comparator associated with this priority queue, or null if it uses its elements' natural ordering.
|
char |
dequeueChar()
Dequeues the first element from the queue.
|
char |
dequeueLastChar()
Dequeues the last element from the queue.
|
void |
enqueue(char x)
Enqueues a new element.
|
void |
enqueueFirst(char x)
Enqueues a new element as the first element (in dequeuing order) of the queue.
|
char |
firstChar()
Returns the first element of the queue.
|
char |
lastChar()
Returns the last element of the queue, that is, the element the would be dequeued last (optional operation).
|
int |
size() |
void |
trim()
Trims the queue to the smallest possible size.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitdequeue, enqueue, first, lastpublic static final int INITIAL_CAPACITY
protected transient char[] array
protected transient int length
array.protected transient int start
protected transient int end
public CharArrayFIFOQueue(int capacity)
capacity - the initial capacity of this queue.public CharArrayFIFOQueue()
public it.unimi.dsi.fastutil.chars.CharComparator comparator()
comparator in interface CharPriorityQueuecomparator in interface it.unimi.dsi.fastutil.PriorityQueue<java.lang.Character>PriorityQueue.comparator()public char dequeueChar()
CharPriorityQueuedequeueChar in interface CharPriorityQueueCharPriorityQueue.dequeue()public char dequeueLastChar()
java.util.NoSuchElementException - if the queue is empty.public void enqueue(char x)
CharPriorityQueueenqueue in interface CharPriorityQueuex - the element to enqueue.PriorityQueue.enqueue(Object)public void enqueueFirst(char x)
x - the element to enqueue.public char firstChar()
CharPriorityQueuefirstChar in interface CharPriorityQueueCharPriorityQueue.first()public char lastChar()
CharPriorityQueueThis default implementation just throws an UnsupportedOperationException.
lastChar in interface CharPriorityQueueCharPriorityQueue.last()public void clear()
clear in interface it.unimi.dsi.fastutil.PriorityQueue<java.lang.Character>public void trim()
public int size()
size in interface it.unimi.dsi.fastutil.PriorityQueue<java.lang.Character>