Class ObjectArrayFIFOQueue<K>

java.lang.Object
it.unimi.dsi.fastutil.objects.ObjectArrayFIFOQueue<K>
All Implemented Interfaces:
PriorityQueue<K>, Serializable

public class ObjectArrayFIFOQueue<K> extends Object implements PriorityQueue<K>, 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

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

    Constructors
    Constructor
    Description
    Creates a new empty queue with standard initial capacity.
    ObjectArrayFIFOQueue(int capacity)
    Creates a new empty queue with given capacity.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Removes all elements from this queue.
    Comparator<? super K>
    Returns the comparator associated with this queue, or null if it uses its elements' natural ordering.
    Dequeues the first element from the queue.
    Dequeues the last element from the queue.
    void
    Enqueues a new element.
    void
    Enqueues a new element as the first element (in dequeuing order) of the queue.
    Returns the first element of the queue.
    Returns the last element of the queue, that is, the element the would be dequeued last (optional operation).
    int
    Returns the number of elements in this queue.
    void
    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.PriorityQueue

    changed, isEmpty
  • Field Details

    • INITIAL_CAPACITY

      public static final int INITIAL_CAPACITY
      The standard initial capacity of a queue.
      See Also:
  • Constructor Details

    • ObjectArrayFIFOQueue

      public ObjectArrayFIFOQueue(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.
    • ObjectArrayFIFOQueue

      public ObjectArrayFIFOQueue()
      Creates a new empty queue with standard initial capacity.
  • Method Details

    • comparator

      public Comparator<? super K> comparator()
      Returns the comparator associated with this queue, or null if it uses its elements' natural ordering.
      Specified by:
      comparator in interface PriorityQueue<K>
      Returns:
      the comparator associated with this sorted set, or null if it uses its elements' natural ordering.
      Implementation Specification:
      This implementation returns null (FIFO queues have no comparator).
    • dequeue

      public K dequeue()
      Description copied from interface: PriorityQueue
      Dequeues the first element from the queue.
      Specified by:
      dequeue in interface PriorityQueue<K>
      Returns:
      the dequeued element.
    • dequeueLast

      public K dequeueLast()
      Dequeues the last element from the queue.
      Returns:
      the dequeued element.
      Throws:
      NoSuchElementException - if the queue is empty.
    • enqueue

      public void enqueue(K x)
      Description copied from interface: PriorityQueue
      Enqueues a new element.
      Specified by:
      enqueue in interface PriorityQueue<K>
      Parameters:
      x - the element to enqueue.
    • enqueueFirst

      public void enqueueFirst(K x)
      Enqueues a new element as the first element (in dequeuing order) of the queue.
      Parameters:
      x - the element to enqueue.
    • first

      public K first()
      Description copied from interface: PriorityQueue
      Returns the first element of the queue.
      Specified by:
      first in interface PriorityQueue<K>
      Returns:
      the first element.
    • last

      public K last()
      Description copied from interface: PriorityQueue
      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:
      last in interface PriorityQueue<K>
      Returns:
      the last element.
    • clear

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