Class CircularArray<T>

java.lang.Object
org.ddogleg.struct.CircularArray<T>

public class CircularArray<T> extends Object
A circular queue which can grow as needed.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    T[]
     
    int
     
    int
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
    CircularArray(Class<T> type, int maxSize)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    add(T value)
    Adds a new element to the queue.
    void
    addW(T value)
    Adds a new element to the queue, but if the queue is full write over the oldest element.
    protected T
     
    get(int index)
    Returns the element in the queue at index.
    Adds a new element to the end of the list and returns it.
    Adds a new element to the end of the list and returns it.
    Value of the first element in the queue
    boolean
     
    boolean
     
    Returns and removes the first element from the queue.
    Returns and removes the last element from the queue.
    void
    Removes the first element
    void
    Removes the last element
    void
     
    int
     
    Value of the last element in the queue

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • data

      public T[] data
    • start

      public int start
    • size

      public int size
  • Constructor Details

    • CircularArray

      public CircularArray(Class<T> type)
    • CircularArray

      public CircularArray(Class<T> type, int maxSize)
  • Method Details

    • reset

      public void reset()
    • popHead

      public T popHead()
      Returns and removes the first element from the queue.
      Returns:
      first element in the queue
    • popTail

      public T popTail()
      Returns and removes the last element from the queue.
      Returns:
      last element in the queue
    • head

      public T head()
      Value of the first element in the queue
    • tail

      public T tail()
      Value of the last element in the queue
    • removeHead

      public void removeHead()
      Removes the first element
    • removeTail

      public void removeTail()
      Removes the last element
    • get

      public T get(int index)
      Returns the element in the queue at index. No bounds check is performed and a garbage value might be returned.
      Parameters:
      index - Which element in the queue you wish to access
      Returns:
      the element's value
    • grow

      public T grow()
      Adds a new element to the end of the list and returns it. If the inner array isn't large enough then it will grow.
      Returns:
      instance at the tail
    • growW

      public T growW()
      Adds a new element to the end of the list and returns it. If the inner array isn't large enough then the oldest element will be written over.
      Returns:
      instance at the tail
    • add

      public void add(T value)
      Adds a new element to the queue. If the queue isn't large enough to store this value then its internal data array will grow
      Parameters:
      value - Value which is to be added
    • addW

      public void addW(T value)
      Adds a new element to the queue, but if the queue is full write over the oldest element.
      Parameters:
      value - Value which is to be added
    • size

      public int size()
    • isEmpty

      public boolean isEmpty()
    • isFull

      public boolean isFull()
    • createInstance

      protected T createInstance()