public class DynamicIntArray extends ModifiedVersionBase implements java.lang.Cloneable
ArrayList
)Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_INITIAL_CAPACITY |
Constructor and Description |
---|
DynamicIntArray()
Dynamic array of integers with default capacity of 10
|
DynamicIntArray(DynamicIntArray array) |
DynamicIntArray(int... vals) |
DynamicIntArray(int initialCapacity)
Dynamic array of integers with provided initial capacity
|
Modifier and Type | Method and Description |
---|---|
void |
add(int e) |
void |
addAll(DynamicIntArray array) |
void |
addAll(int[] e) |
void |
chop(int start,
int size)
Performs an in-place slice, modifying this array directly
|
void |
clear() |
DynamicIntArray |
clone()
Creates a shallow copy
|
void |
ensureCapacity(int cap) |
boolean |
equals(DynamicIntArray array)
Returns
true if this DynamicIntArray is equals to
another one. |
int |
get(int idx) |
int[] |
getArray()
Provides direct access to the underlying array.
|
int |
remove(int idx) |
void |
remove(int idx,
int count)
Remove a specified number of elements starting at the
provided index.
|
void |
resize(int size)
Resizes the array.
|
void |
set(int idx,
int e)
Sets the value at index
idx to the provided e . |
int |
size() |
DynamicIntArray |
slice(int start,
int size)
Returns a copy of a portion of the array
|
int[] |
toArray()
Copies the contents of this DynamicIntArray into an array.
|
void |
trimToSize() |
getVersion, notifyModified
public static final int DEFAULT_INITIAL_CAPACITY
public DynamicIntArray()
public DynamicIntArray(int initialCapacity)
initialCapacity
- initial capacity. If <=
0, uses
the default capacitypublic DynamicIntArray(int... vals)
public DynamicIntArray(DynamicIntArray array)
public void ensureCapacity(int cap)
public int size()
public void add(int e)
public void addAll(int[] e)
public void addAll(DynamicIntArray array)
public void clear()
public int remove(int idx)
public void remove(int idx, int count)
idx
- starting index to removecount
- number of elements to removepublic void trimToSize()
public void resize(int size)
size
- new sizepublic DynamicIntArray slice(int start, int size)
start
- starting index to copysize
- number of elementspublic void chop(int start, int size)
start
- starting index to keepsize
- number of elementspublic int get(int idx)
public void set(int idx, int e)
idx
to the provided e
.
If idx==size()
, then the element is appended to the array.idx
- index at which to modify the valuee
- new valuepublic int[] getArray()
ModifiedVersionBase.notifyModified()
is called. The underying array is automatically trimmed to the correct size
before being returned.public int[] toArray()
public DynamicIntArray clone()
clone
in class java.lang.Object
public boolean equals(DynamicIntArray array)
true
if this DynamicIntArray is equals to
another one.array
- array to compare with