Class ByteArrayFIFOQueue

  • All Implemented Interfaces:
    BytePriorityQueue, PriorityQueue<java.lang.Byte>, java.io.Serializable

    public class ByteArrayFIFOQueue
    extends java.lang.Object
    implements BytePriorityQueue, java.io.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:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int INITIAL_CAPACITY
      The standard initial capacity of a queue.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void clear()
      Removes all elements from this queue.
      ByteComparator comparator()
      Returns the comparator associated with this priority queue, or null if it uses its elements' natural ordering.
      byte dequeueByte()
      Dequeues the first element from the queue.
      byte dequeueLastByte()
      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 firstByte()
      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
    • Field Detail

      • INITIAL_CAPACITY

        public static final int INITIAL_CAPACITY
        The standard initial capacity of a queue.
        See Also:
        Constant Field Values
    • Constructor Detail

      • ByteArrayFIFOQueue

        public ByteArrayFIFOQueue​(int capacity)
        Creates a new empty queue with given capacity.
        Parameters:
        capacity - the initial capacity of this queue.
      • ByteArrayFIFOQueue

        public ByteArrayFIFOQueue()
        Creates a new empty queue with standard initial capacity.
    • Method Detail

      • dequeueLastByte

        public byte dequeueLastByte()
        Dequeues the last element from the queue.
        Returns:
        the dequeued element.
        Throws:
        java.util.NoSuchElementException - if the queue is empty.
      • 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.
      • 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 interface BytePriorityQueue
        Returns:
        the last element.
        See Also:
        BytePriorityQueue.last()
      • clear

        public void clear()
        Description copied from interface: PriorityQueue
        Removes all elements from this queue.
        Specified by:
        clear in interface PriorityQueue<java.lang.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 interface PriorityQueue<java.lang.Byte>
        Returns:
        the number of elements in this queue.