Class BoundedList<T>

java.lang.Object
org.openjdk.jmc.common.collection.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.

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static interface 
    The list elements are stored in nodes that takes care of the actual linking.
  • Constructor Summary

    Constructors
    Constructor
    Description
    BoundedList(int maxSize)
    Create a new bounded list.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    add(T t)
    Adds a value to this list.
    Get the first element in the list.
    Get the last element in the list.
    int
    Get the maximum number of elements to retain in this list.
    int
    Get the number of elements in this list.
    Get an iterator from the first available to the last available element at the time the iterator was created.
    void
    setMaxSize(int maxSize)
    Set the maximum number of elements to retain in this list.
    Use only for debugging purposes!

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface java.lang.Iterable

    forEach, spliterator
  • Constructor Details

    • BoundedList

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

    • 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