Class BoundedList<T>

  • Type Parameters:
    T - type of the stored elements
    All Implemented Interfaces:
    Iterable<T>

    public class BoundedList<T>
    extends Object
    implements Iterable<T>
    Ordered bounded list that implements Iterable. It is technically not a list, since it does not implement the List interface, but is rather a bounded Iterable.

    The list has a fixed max size. If more elements are added to it, then the oldest elements will be dropped from it.

    • Constructor Detail

      • BoundedList

        public BoundedList​(int maxSize)
        Create a new bounded list.
        Parameters:
        maxSize - maximum number of elements to keep
    • Method Detail

      • add

        public void add​(T t)
        Adds a value to this list. If the list is at max capacity then the oldest element will be dropped.
        Parameters:
        t - the value to add
      • iterator

        public Iterator<T> iterator()
        Get an iterator from the first available to the last available element at the time the iterator was created. Keeping a reference to an iterator for longer than necessary may keep memory from properly being reclaimed.
        Specified by:
        iterator in interface Iterable<T>
        Returns:
        an iterator over the list elements
      • getFirst

        public T getFirst()
        Get the first element in the list.
        Returns:
        the first element
      • getLast

        public T getLast()
        Get the last element in the list.
        Returns:
        the last element
      • getSize

        public int getSize()
        Get the number of elements in this list.
        Returns:
        the size of the list
      • getMaxSize

        public int getMaxSize()
        Get the maximum number of elements to retain in this list.
        Returns:
        the maximum size of the list
      • setMaxSize

        public void setMaxSize​(int maxSize)
        Set the maximum number of elements to retain in this list.
        Parameters:
        maxSize - the maximum size of the list
      • toString

        public String toString()
        Use only for debugging purposes!
        Overrides:
        toString in class Object