Package org.fife.util

## Class DynamicIntArray

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

- All Implemented Interfaces:
    `Serializable`

      public class DynamicIntArray
      extends Object
      implements 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 | 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 `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:
        `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 `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:
        `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 `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:
        `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 `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:
        `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:
        `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.