Class Storage<T>

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, java.lang.Iterable<T>, java.util.Collection<T>, java.util.List<T>, java.util.RandomAccess

    public class Storage<T>
    extends java.util.ArrayList<T>
    A storage utility class which extends java.util.ArrayList with C++-like operations.
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      Storage()
      Creates a storage with initially empty storage.
      Storage​(int size)
      Creates a storage with a given size.
      Storage​(java.util.List<T> storage)
      Copies a given storage.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      T last()
      Returns the last element in the storage.
      void removeLast()
      Removes the last element from the storage.
      void setSize​(int size)
      Sets the size to the given.
      • Methods inherited from class java.util.ArrayList

        add, add, addAll, addAll, clear, clone, contains, ensureCapacity, equals, forEach, get, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeIf, replaceAll, retainAll, set, size, sort, spliterator, subList, toArray, toArray, trimToSize
      • Methods inherited from class java.util.AbstractCollection

        containsAll, toString
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.Collection

        parallelStream, stream, toArray
      • Methods inherited from interface java.util.List

        containsAll
    • Constructor Detail

      • Storage

        public Storage()
        Creates a storage with initially empty storage.
      • Storage

        public Storage​(int size)
        Creates a storage with a given size. This doesn't actually populate those elements; the size reported will be zero until the elements are populated by the calling application.
        Parameters:
        size - initial allocation size.
      • Storage

        public Storage​(java.util.List<T> storage)
        Copies a given storage. Populates the new storage with each element in the source storage.
        Parameters:
        storage - source storage.
    • Method Detail

      • setSize

        public void setSize​(int size)
        Sets the size to the given. This method may truncate the storage if the new size is smaller or pad the storage with null values if the new size is larger. This method will affect the size reported by the size() method.
        Parameters:
        size - new size for the storage.
      • last

        public T last()
        Returns the last element in the storage.
        Returns:
        the last element in the storage; null if the storage is empty.
      • removeLast

        public void removeLast()
        Removes the last element from the storage.