Class FloatArrayFIFOQueue

java.lang.Object
it.unimi.dsi.fastutil.floats.FloatArrayFIFOQueue
All Implemented Interfaces:
FloatPriorityQueue, it.unimi.dsi.fastutil.PriorityQueue<java.lang.Float>, java.io.Serializable

public class FloatArrayFIFOQueue
extends java.lang.Object
implements FloatPriorityQueue, 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.
  • Constructor Summary

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

    Modifier and Type Method Description
    void clear()  
    FloatComparator comparator()
    Returns the comparator associated with this priority queue, or null if it uses its elements' natural ordering.
    float dequeueFloat()
    Dequeues the first element from the queue.
    float dequeueLastFloat()
    Dequeues the last element from the queue.
    void enqueue​(float x)
    Enqueues a new element.
    void enqueueFirst​(float x)
    Enqueues a new element as the first element (in dequeuing order) of the queue.
    float firstFloat()
    Returns the first element of the queue.
    float lastFloat()
    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.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface it.unimi.dsi.fastutil.floats.FloatPriorityQueue

    dequeue, enqueue, first, last

    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:
      Constant Field Values
  • Constructor Details

    • FloatArrayFIFOQueue

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

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

    • comparator

      public FloatComparator comparator()
      Returns the comparator associated with this priority queue, or null if it uses its elements' natural ordering.
      Specified by:
      comparator in interface FloatPriorityQueue
      Specified by:
      comparator in interface it.unimi.dsi.fastutil.PriorityQueue<java.lang.Float>
      Returns:
      the comparator associated with this priority queue.
      See Also:
      PriorityQueue.comparator()
      Implementation Specification:
      This implementation returns null (FIFO queues have no comparator).
    • dequeueFloat

      public float dequeueFloat()
      Description copied from interface: FloatPriorityQueue
      Dequeues the first element from the queue.
      Specified by:
      dequeueFloat in interface FloatPriorityQueue
      Returns:
      the dequeued element.
      See Also:
      FloatPriorityQueue.dequeue()
    • dequeueLastFloat

      public float dequeueLastFloat()
      Dequeues the last element from the queue.
      Returns:
      the dequeued element.
      Throws:
      java.util.NoSuchElementException - if the queue is empty.
    • enqueue

      public void enqueue​(float x)
      Description copied from interface: FloatPriorityQueue
      Enqueues a new element.
      Specified by:
      enqueue in interface FloatPriorityQueue
      Parameters:
      x - the element to enqueue.
      See Also:
      PriorityQueue.enqueue(Object)
    • enqueueFirst

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

      public float firstFloat()
      Description copied from interface: FloatPriorityQueue
      Returns the first element of the queue.
      Specified by:
      firstFloat in interface FloatPriorityQueue
      Returns:
      the first element.
      See Also:
      FloatPriorityQueue.first()
    • lastFloat

      public float lastFloat()
      Description copied from interface: FloatPriorityQueue
      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:
      lastFloat in interface FloatPriorityQueue
      Returns:
      the last element.
      See Also:
      FloatPriorityQueue.last()
    • clear

      public void clear()
      Specified by:
      clear in interface it.unimi.dsi.fastutil.PriorityQueue<java.lang.Float>
    • trim

      public void trim()
      Trims the queue to the smallest possible size.
    • size

      public int size()
      Specified by:
      size in interface it.unimi.dsi.fastutil.PriorityQueue<java.lang.Float>