Class GrowableIntArray


  • public class GrowableIntArray
    extends Object
    Growable int array with type specific access methods. This implementation is unsynchronized in order to provide the best possible performance for typical usage scenarios, so explicit synchronization must be implemented by a wrapper class or directly by the application in cases where instances are modified in a multithreaded environment.
    Author:
    Dennis M. Sosnoski
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int DEFAULT_SIZE
      Default initial array size.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void add​(int value)
      Add a value at the end of the array.
      void addAll​(int[] values)
      Add an array of values at the end of the array.
      void clear()
      Set the array to the empty state.
      Object clone()
      Duplicates the object with the generic call.
      void ensureCapacity​(int min)
      Ensure that the array has the capacity for at least the specified number of values.
      int get​(int index)
      Get a value from the array.
      boolean isEmpty()
      Check if array is empty.
      void remove​(int count)
      Remove some number of values from the end of the array.
      void set​(int index, int value)
      Overwrite an existing value in the array.
      int size()
      Get the number of values currently present in the array.
      int[] toArray()
      Constructs and returns a simple array containing the same data as held in this array.
    • Field Detail

      • DEFAULT_SIZE

        public static final int DEFAULT_SIZE
        Default initial array size.
        See Also:
        Constant Field Values
    • Constructor Detail

      • GrowableIntArray

        public GrowableIntArray​(int size,
                                int growth)
        Constructor with full specification.
        Parameters:
        size - number of int values initially allowed in array
        growth - maximum size increment for growing array
      • GrowableIntArray

        public GrowableIntArray​(int size)
        Constructor with initial size specified.
        Parameters:
        size - number of int values initially allowed in array
      • GrowableIntArray

        public GrowableIntArray()
        Default constructor.
      • GrowableIntArray

        public GrowableIntArray​(GrowableIntArray base)
        Copy (clone) constructor.
        Parameters:
        base - instance being copied
    • Method Detail

      • ensureCapacity

        public final void ensureCapacity​(int min)
        Ensure that the array has the capacity for at least the specified number of values.
        Parameters:
        min - minimum capacity to be guaranteed
      • set

        public void set​(int index,
                        int value)
        Overwrite an existing value in the array.
        Parameters:
        index - position of value to be overwritten
        value - value to be added
      • add

        public void add​(int value)
        Add a value at the end of the array.
        Parameters:
        value - value to be added
      • addAll

        public void addAll​(int[] values)
        Add an array of values at the end of the array.
        Parameters:
        values - values to be added
      • remove

        public void remove​(int count)
        Remove some number of values from the end of the array.
        Parameters:
        count - number of values to be removed
        Throws:
        ArrayIndexOutOfBoundsException - on attempt to remove more than the count present
      • get

        public int get​(int index)
        Get a value from the array.
        Parameters:
        index - index of value to be returned
        Returns:
        value from stack
        Throws:
        ArrayIndexOutOfBoundsException - on attempt to access outside valid range
      • toArray

        public int[] toArray()
        Constructs and returns a simple array containing the same data as held in this array.
        Returns:
        array containing a copy of the data
      • clone

        public Object clone()
        Duplicates the object with the generic call.
        Overrides:
        clone in class Object
        Returns:
        a copy of the object
      • size

        public int size()
        Get the number of values currently present in the array.
        Returns:
        count of values present
      • isEmpty

        public boolean isEmpty()
        Check if array is empty.
        Returns:
        true if array empty, false if not
      • clear

        public void clear()
        Set the array to the empty state.