Package it.unimi.dsi.fastutil.bytes
Class ByteArrayFIFOQueue
java.lang.Object
it.unimi.dsi.fastutil.bytes.ByteArrayFIFOQueue
- All Implemented Interfaces:
BytePriorityQueue
,PriorityQueue<Byte>
,Serializable
A type-specific array-based FIFO queue, supporting also deque operations.
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).
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
The standard initial capacity of a queue. -
Constructor Summary
ConstructorDescriptionCreates a new empty queue with standard initial capacity.ByteArrayFIFOQueue
(int capacity) Creates a new empty queue with given capacity. -
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
Removes all elements from this queue.Returns the comparator associated with this priority queue, or null if it uses its elements' natural ordering.byte
Dequeues the first element from the queue.byte
Dequeues the last element from the queue.void
enqueue
(byte x) Enqueues a new element.void
enqueueFirst
(byte x) Enqueues a new element as the first element (in dequeuing order) of the queue.byte
Returns the first element of the queue.byte
lastByte()
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.Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface it.unimi.dsi.fastutil.bytes.BytePriorityQueue
dequeue, enqueue, first, last
Methods inherited from interface it.unimi.dsi.fastutil.PriorityQueue
changed, isEmpty
-
Field Details
-
INITIAL_CAPACITY
public static final int INITIAL_CAPACITYThe standard initial capacity of a queue.- See Also:
-
-
Constructor Details
-
ByteArrayFIFOQueue
public ByteArrayFIFOQueue(int capacity) Creates a new empty queue with given capacity.- Parameters:
capacity
- the initial capacity of this queue.- Implementation Notes:
- Because of inner limitations of the JVM, the initial capacity cannot exceed
Arrays.MAX_ARRAY_SIZE
− 1.
-
ByteArrayFIFOQueue
public ByteArrayFIFOQueue()Creates a new empty queue with standard initial capacity.
-
-
Method Details
-
comparator
Returns the comparator associated with this priority queue, or null if it uses its elements' natural ordering.- Specified by:
comparator
in interfaceBytePriorityQueue
- Specified by:
comparator
in interfacePriorityQueue<Byte>
- Returns:
- the comparator associated with this priority queue.
- See Also:
- Implementation Specification:
- This implementation returns
null
(FIFO queues have no comparator).
-
dequeueByte
public byte dequeueByte()Description copied from interface:BytePriorityQueue
Dequeues the first element from the queue.- Specified by:
dequeueByte
in interfaceBytePriorityQueue
- Returns:
- the dequeued element.
- See Also:
-
dequeueLastByte
public byte dequeueLastByte()Dequeues the last element from the queue.- Returns:
- the dequeued element.
- Throws:
NoSuchElementException
- if the queue is empty.
-
enqueue
public void enqueue(byte x) Description copied from interface:BytePriorityQueue
Enqueues a new element.- Specified by:
enqueue
in interfaceBytePriorityQueue
- Parameters:
x
- the element to enqueue.- See Also:
-
enqueueFirst
public void enqueueFirst(byte x) Enqueues a new element as the first element (in dequeuing order) of the queue.- Parameters:
x
- the element to enqueue.
-
firstByte
public byte firstByte()Description copied from interface:BytePriorityQueue
Returns the first element of the queue.- Specified by:
firstByte
in interfaceBytePriorityQueue
- Returns:
- the first element.
- See Also:
-
lastByte
public byte lastByte()Description copied from interface:BytePriorityQueue
Returns the last element of the queue, that is, the element the would be dequeued last (optional operation).This default implementation just throws an
UnsupportedOperationException
.- Specified by:
lastByte
in interfaceBytePriorityQueue
- Returns:
- the last element.
- See Also:
-
clear
public void clear()Description copied from interface:PriorityQueue
Removes all elements from this queue.- Specified by:
clear
in interfacePriorityQueue<Byte>
-
trim
public void trim()Trims the queue to the smallest possible size. -
size
public int size()Description copied from interface:PriorityQueue
Returns the number of elements in this queue.- Specified by:
size
in interfacePriorityQueue<Byte>
- Returns:
- the number of elements in this queue.
-