DynamicIntArray
Date: 2017-02-11

org.fife.util

## Class DynamicIntArray

- java.lang.Object
- - org.fife.util.DynamicIntArray

- All Implemented Interfaces:
    java.io.Serializable

      public class DynamicIntArray
      extends java.lang.Object
      implements java.io.Serializable

  Similar to a `java.util.ArrayList`, but specifically for `int`s. This is basically an array of integers that resizes itself (if necessary) when adding new elements.
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and 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

    Methods
    Modifier and Type | Method and 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 `int`s 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 `int`s 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 `int`s 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.

    - ### Methods inherited from class java.lang.Object

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

- - ### 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:
        `java.lang.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:
        `java.lang.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 `int`s in the specified array into this array object at the specified location. Shifts the `int` currently at that position (if any) and any subsequent `int`s 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 `int`s to insert.
      Throws:
        `java.lang.IndexOutOfBoundsException` - If `index` is less than zero or greater than `getSize()`.
        `java.lang.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 `int`s 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:
        `java.lang.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:
        `java.lang.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 `int`s in this array object.
      Returns:
        The number of `int`s 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:
        `java.lang.IndexOutOfBoundsException` - If `index` is less than zero or greater than or equal to `getSize()`.

    - #### removeRange

          public void removeRange(int fromIndex,
                         int toIndex)

      Removes the `int`s 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:
        `java.lang.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:
        `java.lang.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.