Package org.fife.util

Class DynamicIntArray

  • All Implemented Interfaces:
    Serializable

    public class DynamicIntArray
    extends Object
    implements Serializable
    Similar to a java.util.ArrayList, but specifically for ints. This is basically an array of integers that resizes itself (if necessary) when adding new elements.
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      DynamicIntArray()
      Constructs a new array object with an initial capacity of 10.
      DynamicIntArray​(int initialCapacity)
      Constructs a new array object with a given initial capacity.
      DynamicIntArray​(int[] intArray)
      Constructs a new array object from the given int array.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void add​(int value)
      Appends the specified int to the end of this array.
      void add​(int index, int value)
      Inserts the specified int at the specified position in this array.
      void add​(int index, int[] intArray)
      Inserts all ints in the specified array into this array object at the specified location.
      void clear()
      Removes all values from this array object.
      boolean contains​(int integer)
      Returns whether this array contains a given integer.
      void decrement​(int from, int to)
      Decrements all values in the array in the specified range.
      void fill​(int value)
      Sets the value of all entries in this array to the specified value.
      int get​(int index)
      Returns the int at the specified position in this array object.
      int getSize()
      Returns the number of ints in this array object.
      int getUnsafe​(int index)
      Returns the int at the specified position in this array object, without doing any bounds checking.
      void increment​(int from, int to)
      Increments all values in the array in the specified range.
      void insertRange​(int offs, int count, int value)  
      boolean isEmpty()
      Returns whether or not this array object is empty.
      void remove​(int index)
      Removes the int at the specified location from this array object.
      void removeRange​(int fromIndex, int toIndex)
      Removes the ints in the specified range from this array object.
      void set​(int index, int value)
      Sets the int value at the specified position in this array object.
      void setUnsafe​(int index, int value)
      Sets the int value at the specified position in this array object, without doing any bounds checking.
    • Constructor Detail

      • DynamicIntArray

        public DynamicIntArray()
        Constructs a new array object with an initial capacity of 10.
      • DynamicIntArray

        public DynamicIntArray​(int initialCapacity)
        Constructs a new array object with a given initial capacity.
        Parameters:
        initialCapacity - The initial capacity.
        Throws:
        IllegalArgumentException - If initialCapacity is negative.
      • DynamicIntArray

        public DynamicIntArray​(int[] intArray)
        Constructs a new array object from the given int array. The resulting DynamicIntArray will have an initial capacity of 110% the size of the array.
        Parameters:
        intArray - Initial data for the array object.
        Throws:
        NullPointerException - If intArray is null.
    • Method Detail

      • add

        public void add​(int value)
        Appends the specified int to the end of this array.
        Parameters:
        value - The int to be appended to this array.
      • add

        public void add​(int index,
                        int[] intArray)
        Inserts all ints in the specified array into this array object at the specified location. Shifts the int currently at that position (if any) and any subsequent ints to the right (adds one to their indices).
        Parameters:
        index - The index at which the specified integer is to be inserted.
        intArray - The array of ints to insert.
        Throws:
        IndexOutOfBoundsException - If index is less than zero or greater than getSize().
        NullPointerException - If intArray is null.
      • add

        public void add​(int index,
                        int value)
        Inserts the specified int at the specified position in this array. Shifts the int currently at that position (if any) and any subsequent ints to the right (adds one to their indices).
        Parameters:
        index - The index at which the specified integer is to be inserted.
        value - The int to be inserted.
        Throws:
        IndexOutOfBoundsException - If index is less than zero or greater than getSize().
      • clear

        public void clear()
        Removes all values from this array object. Capacity will remain the same.
      • contains

        public boolean contains​(int integer)
        Returns whether this array contains a given integer. This method performs a linear search, so it is not optimized for performance.
        Parameters:
        integer - The int for which to search.
        Returns:
        Whether the given integer is contained in this array.
      • decrement

        public void decrement​(int from,
                              int to)
        Decrements all values in the array in the specified range.
        Parameters:
        from - The range start offset (inclusive).
        to - The range end offset (exclusive).
        See Also:
        increment(int, int)
      • fill

        public void fill​(int value)
        Sets the value of all entries in this array to the specified value.
        Parameters:
        value - The new value for all elements in the array.
      • get

        public int get​(int index)
        Returns the int at the specified position in this array object.
        Parameters:
        index - The index of the int to return.
        Returns:
        The int at the specified position in this array.
        Throws:
        IndexOutOfBoundsException - If index is less than zero or greater than or equal to getSize().
      • getUnsafe

        public int getUnsafe​(int index)
        Returns the int at the specified position in this array object, without doing any bounds checking. You really should use get(int) instead of this method.
        Parameters:
        index - The index of the int to return.
        Returns:
        The int at the specified position in this array.
      • getSize

        public int getSize()
        Returns the number of ints in this array object.
        Returns:
        The number of ints in this array object.
      • increment

        public void increment​(int from,
                              int to)
        Increments all values in the array in the specified range.
        Parameters:
        from - The range start offset (inclusive).
        to - The range end offset (exclusive).
        See Also:
        decrement(int, int)
      • insertRange

        public void insertRange​(int offs,
                                int count,
                                int value)
      • isEmpty

        public boolean isEmpty()
        Returns whether or not this array object is empty.
        Returns:
        Whether or not this array object contains no elements.
      • remove

        public void remove​(int index)
        Removes the int at the specified location from this array object.
        Parameters:
        index - The index of the int to remove.
        Throws:
        IndexOutOfBoundsException - If index is less than zero or greater than or equal to getSize().
      • removeRange

        public void removeRange​(int fromIndex,
                                int toIndex)
        Removes the ints in the specified range from this array object.
        Parameters:
        fromIndex - The index of the first int to remove.
        toIndex - The index AFTER the last int to remove.
        Throws:
        IndexOutOfBoundsException - If either of fromIndex or toIndex is less than zero or greater than or equal to getSize().
      • set

        public void set​(int index,
                        int value)
        Sets the int value at the specified position in this array object.
        Parameters:
        index - The index of the int to set
        value - The value to set it to.
        Throws:
        IndexOutOfBoundsException - If index is less than zero or greater than or equal to getSize().
      • setUnsafe

        public void setUnsafe​(int index,
                              int value)
        Sets the int value at the specified position in this array object, without doing any bounds checking. You should use set(int, int) instead of this method.
        Parameters:
        index - The index of the int to set
        value - The value to set it to.