org.fife.util
Class DynamicIntArray

java.lang.Object
  extended by 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 ints. This is basically an array of integers that resizes itself (if necessary) when adding new elements.

Version:
0.8
Author:
Robert Futrell
See Also:
Serialized Form

Constructor Summary
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
 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.
 
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 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:
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 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:
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 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:
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 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:
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.