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 ajava.util.ArrayList
, but specifically forint
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 specifiedint
to the end of this array.void
add(int index, int value)
Inserts the specifiedint
at the specified position in this array.void
add(int index, int[] intArray)
Inserts allint
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 theint
at the specified position in this array object.int
getSize()
Returns the number ofint
s in this array object.int
getUnsafe(int index)
Returns theint
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 theint
at the specified location from this array object.void
removeRange(int fromIndex, int toIndex)
Removes theint
s in the specified range from this array object.void
set(int index, int value)
Sets theint
value at the specified position in this array object.void
setUnsafe(int index, int value)
Sets theint
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
- IfinitialCapacity
is negative.
-
DynamicIntArray
public DynamicIntArray(int[] intArray)
Constructs a new array object from the given int array. The resultingDynamicIntArray
will have an initial capacity of 110% the size of the array.- Parameters:
intArray
- Initial data for the array object.- Throws:
NullPointerException
- IfintArray
isnull
.
-
-
Method Detail
-
add
public void add(int value)
Appends the specifiedint
to the end of this array.- Parameters:
value
- Theint
to be appended to this array.
-
add
public void add(int index, int[] intArray)
Inserts allint
s in the specified array into this array object at the specified location. Shifts theint
currently at that position (if any) and any subsequentint
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 ofint
s to insert.- Throws:
IndexOutOfBoundsException
- Ifindex
is less than zero or greater thangetSize()
.NullPointerException
- IfintArray
isnull
.
-
add
public void add(int index, int value)
Inserts the specifiedint
at the specified position in this array. Shifts theint
currently at that position (if any) and any subsequentint
s to the right (adds one to their indices).- Parameters:
index
- The index at which the specified integer is to be inserted.value
- Theint
to be inserted.- Throws:
IndexOutOfBoundsException
- Ifindex
is less than zero or greater thangetSize()
.
-
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
- Theint
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 theint
at the specified position in this array object.- Parameters:
index
- The index of theint
to return.- Returns:
- The
int
at the specified position in this array. - Throws:
IndexOutOfBoundsException
- Ifindex
is less than zero or greater than or equal togetSize()
.
-
getUnsafe
public int getUnsafe(int index)
Returns theint
at the specified position in this array object, without doing any bounds checking. You really should useget(int)
instead of this method.- Parameters:
index
- The index of theint
to return.- Returns:
- The
int
at the specified position in this array.
-
getSize
public int getSize()
Returns the number ofint
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 theint
at the specified location from this array object.- Parameters:
index
- The index of theint
to remove.- Throws:
IndexOutOfBoundsException
- Ifindex
is less than zero or greater than or equal togetSize()
.
-
removeRange
public void removeRange(int fromIndex, int toIndex)
Removes theint
s in the specified range from this array object.- Parameters:
fromIndex
- The index of the firstint
to remove.toIndex
- The index AFTER the lastint
to remove.- Throws:
IndexOutOfBoundsException
- If either offromIndex
ortoIndex
is less than zero or greater than or equal togetSize()
.
-
set
public void set(int index, int value)
Sets theint
value at the specified position in this array object.- Parameters:
index
- The index of theint
to setvalue
- The value to set it to.- Throws:
IndexOutOfBoundsException
- Ifindex
is less than zero or greater than or equal togetSize()
.
-
setUnsafe
public void setUnsafe(int index, int value)
Sets theint
value at the specified position in this array object, without doing any bounds checking. You should useset(int, int)
instead of this method.- Parameters:
index
- The index of theint
to setvalue
- The value to set it to.
-
-