gnu.trove.list.array
public class TIntArrayList extends java.lang.Object implements TIntList, java.io.Externalizable
Modifier and Type | Field and Description |
---|---|
protected int[] |
_data
the data of the list
|
protected int |
_pos
the index after the last entry in the list
|
protected static int |
DEFAULT_CAPACITY
the default capacity for new lists
|
protected int |
no_entry_value
the int value that represents null
|
Modifier | Constructor and Description |
---|---|
|
TIntArrayList()
Creates a new
TIntArrayList instance with the
default capacity. |
|
TIntArrayList(int capacity)
Creates a new
TIntArrayList instance with the
specified capacity. |
|
TIntArrayList(int[] values)
Creates a new
TIntArrayList instance whose
capacity is the length of values array and whose
initial contents are the specified values. |
protected |
TIntArrayList(int[] values,
int no_entry_value,
boolean wrap) |
|
TIntArrayList(int capacity,
int no_entry_value)
Creates a new
TIntArrayList instance with the
specified capacity. |
|
TIntArrayList(TIntCollection collection)
Creates a new
TIntArrayList instance that contains
a copy of the collection passed to us. |
Modifier and Type | Method and Description |
---|---|
boolean |
add(int val)
Adds val to the end of the list, growing as needed.
|
void |
add(int[] vals)
Adds the values in the array vals to the end of the
list, in order.
|
void |
add(int[] vals,
int offset,
int length)
Adds a subset of the values in the array vals to the
end of the list, in order.
|
boolean |
addAll(java.util.Collection<? extends java.lang.Integer> collection)
Adds all of the elements in collection to the collection.
|
boolean |
addAll(int[] array)
Adds all of the elements in the array to the collection.
|
boolean |
addAll(TIntCollection collection)
Adds all of the elements in the TIntCollection to the collection.
|
int |
binarySearch(int value)
Performs a binary search for value in the entire list.
|
int |
binarySearch(int value,
int fromIndex,
int toIndex)
Performs a binary search for value in the specified
range.
|
void |
clear()
Flushes the internal state of the list, resetting the capacity
to the default.
|
void |
clear(int capacity)
Flushes the internal state of the list, setting the capacity of the empty list to
capacity.
|
boolean |
contains(int value)
Searches the list for value
|
boolean |
containsAll(java.util.Collection<?> collection)
Tests the collection to determine if all of the elements in
collection are present.
|
boolean |
containsAll(int[] array)
Tests the collection to determine if all of the elements in
array are present.
|
boolean |
containsAll(TIntCollection collection)
Tests the collection to determine if all of the elements in
TIntCollection are present.
|
void |
ensureCapacity(int capacity)
Grow the internal array as needed to accommodate the specified number of elements.
|
boolean |
equals(java.lang.Object other)
Compares the specified object with this collection for equality.
|
void |
fill(int val)
Fills every slot in the list with the specified value.
|
void |
fill(int fromIndex,
int toIndex,
int val)
Fills a range in the list with the specified value.
|
boolean |
forEach(TIntProcedure procedure)
Applies the procedure to each value in the list in ascending
(front to back) order.
|
boolean |
forEachDescending(TIntProcedure procedure)
Applies the procedure to each value in the list in descending
(back to front) order.
|
int |
get(int offset)
Returns the value at the specified offset.
|
int |
getNoEntryValue()
Returns the value that is used to represent null.
|
int |
getQuick(int offset)
Returns the value at the specified offset without doing any bounds checking.
|
TIntList |
grep(TIntProcedure condition)
Searches the list for values satisfying condition in
the manner of the *nix grep utility.
|
int |
hashCode()
Returns the hash code value for this collection.
|
int |
indexOf(int value)
Searches the list front to back for the index of
value.
|
int |
indexOf(int offset,
int value)
Searches the list front to back for the index of
value, starting at offset.
|
void |
insert(int offset,
int value)
Inserts value into the list at offset.
|
void |
insert(int offset,
int[] values)
Inserts the array of values into the list at
offset.
|
void |
insert(int offset,
int[] values,
int valOffset,
int len)
Inserts a slice of the array of values into the list
at offset.
|
TIntList |
inverseGrep(TIntProcedure condition)
Searches the list for values which do not satisfy
condition.
|
boolean |
isEmpty()
Tests whether this list contains any values.
|
TIntIterator |
iterator()
Creates an iterator over the values of the collection.
|
int |
lastIndexOf(int value)
Searches the list back to front for the last index of
value.
|
int |
lastIndexOf(int offset,
int value)
Searches the list back to front for the last index of
value, starting at offset.
|
int |
max()
Finds the maximum value in the list.
|
int |
min()
Finds the minimum value in the list.
|
void |
readExternal(java.io.ObjectInput in) |
boolean |
remove(int value)
Removes value from the list.
|
void |
remove(int offset,
int length)
Removes length values from the list, starting at
offset
|
boolean |
removeAll(java.util.Collection<?> collection)
Removes all of the elements in collection from the collection.
|
boolean |
removeAll(int[] array)
Removes all of the elements in array from the collection.
|
boolean |
removeAll(TIntCollection collection)
Removes all of the elements in TIntCollection from the collection.
|
int |
removeAt(int offset)
Removes value at a given offset from the list.
|
int |
replace(int offset,
int val)
Sets the value at the specified offset and returns the
previously stored value.
|
void |
reset()
Sets the size of the list to 0, but does not change its capacity.
|
void |
resetQuick()
Sets the size of the list to 0, but does not change its capacity.
|
boolean |
retainAll(java.util.Collection<?> collection)
Removes any values in the collection which are not contained in
collection.
|
boolean |
retainAll(int[] array)
Removes any values in the collection which are not contained in
array.
|
boolean |
retainAll(TIntCollection collection)
Removes any values in the collection which are not contained in
TIntCollection.
|
void |
reverse()
Reverse the order of the elements in the list.
|
void |
reverse(int from,
int to)
Reverse the order of the elements in the range of the list.
|
int |
set(int offset,
int val)
Sets the value at the specified offset.
|
void |
set(int offset,
int[] values)
Replace the values in the list starting at offset with
the contents of the values array.
|
void |
set(int offset,
int[] values,
int valOffset,
int length)
Replace the values in the list starting at offset with
length values from the values array, starting
at valOffset.
|
void |
setQuick(int offset,
int val)
Sets the value at the specified offset without doing any bounds checking.
|
void |
shuffle(java.util.Random rand)
Shuffle the elements of the list using the specified random
number generator.
|
int |
size()
Returns the number of values in the list.
|
void |
sort()
Sort the values in the list (ascending) using the Sun quicksort
implementation.
|
void |
sort(int fromIndex,
int toIndex)
Sort a slice of the list (ascending) using the Sun quicksort
implementation.
|
TIntList |
subList(int begin,
int end)
Returns a sublist of this list.
|
int |
sum()
Calculates the sum of all the values in the list.
|
int[] |
toArray()
Copies the contents of the list into a native array.
|
int[] |
toArray(int[] dest)
Copies a slice of the list into a native array.
|
int[] |
toArray(int[] dest,
int offset,
int len)
Copies a slice of the list into a native array.
|
int[] |
toArray(int[] dest,
int source_pos,
int dest_pos,
int len)
Copies a slice of the list into a native array.
|
int[] |
toArray(int offset,
int len)
Copies a slice of the list into a native array.
|
java.lang.String |
toString() |
void |
transformValues(TIntFunction function)
Transform each value in the list using the specified function.
|
void |
trimToSize()
Sheds any excess capacity above and beyond the current size of the list.
|
static TIntArrayList |
wrap(int[] values)
Returns a primitive List implementation that wraps around the given primitive array.
|
static TIntArrayList |
wrap(int[] values,
int no_entry_value)
Returns a primitive List implementation that wraps around the given primitive array.
|
void |
writeExternal(java.io.ObjectOutput out) |
protected int[] _data
protected int _pos
protected static final int DEFAULT_CAPACITY
protected int no_entry_value
public TIntArrayList()
TIntArrayList
instance with the
default capacity.public TIntArrayList(int capacity)
TIntArrayList
instance with the
specified capacity.capacity
- an int
valuepublic TIntArrayList(int capacity, int no_entry_value)
TIntArrayList
instance with the
specified capacity.capacity
- an int
valueno_entry_value
- an int
value that represents null.public TIntArrayList(TIntCollection collection)
TIntArrayList
instance that contains
a copy of the collection passed to us.collection
- the collection to copypublic TIntArrayList(int[] values)
TIntArrayList
instance whose
capacity is the length of values array and whose
initial contents are the specified values.
A defensive copy of the given values is held by the new instance.
values
- an int[]
valueprotected TIntArrayList(int[] values, int no_entry_value, boolean wrap)
public static TIntArrayList wrap(int[] values)
values
- public static TIntArrayList wrap(int[] values, int no_entry_value)
values
- no_entry_value
- public int getNoEntryValue()
getNoEntryValue
in interface TIntList
getNoEntryValue
in interface TIntCollection
public void ensureCapacity(int capacity)
public int size()
size
in interface TIntList
size
in interface TIntCollection
public boolean isEmpty()
isEmpty
in interface TIntList
isEmpty
in interface TIntCollection
public void trimToSize()
public boolean add(int val)
add
in interface TIntList
add
in interface TIntCollection
val
- an int
valuepublic void add(int[] vals)
public void add(int[] vals, int offset, int length)
public void insert(int offset, int value)
public void insert(int offset, int[] values)
public void insert(int offset, int[] values, int valOffset, int len)
public int get(int offset)
public int getQuick(int offset)
public int set(int offset, int val)
public int replace(int offset, int val)
public void set(int offset, int[] values)
public void set(int offset, int[] values, int valOffset, int length)
public void setQuick(int offset, int val)
public void clear()
clear
in interface TIntList
clear
in interface TIntCollection
public void clear(int capacity)
public void reset()
clear()
method if you want to recycle a
list without allocating new backing arrays.public void resetQuick()
clear()
method if you want to recycle a
list without allocating new backing arrays. This method differs from
reset()
in that it does not clear the old values in the backing array.
Thus, it is possible for getQuick to return stale data if this method is used and
the caller is careless about bounds checking.public boolean remove(int value)
remove
in interface TIntList
remove
in interface TIntCollection
value
- an int
valuepublic int removeAt(int offset)
public void remove(int offset, int length)
public TIntIterator iterator()
iterator
in interface TIntCollection
TIntIterator
valuepublic boolean containsAll(java.util.Collection<?> collection)
containsAll
in interface TIntCollection
collection
- a Collection
valuepublic boolean containsAll(TIntCollection collection)
containsAll
in interface TIntCollection
collection
- a TIntCollection
valuepublic boolean containsAll(int[] array)
containsAll
in interface TIntCollection
array
- as array
of int primitives.public boolean addAll(java.util.Collection<? extends java.lang.Integer> collection)
addAll
in interface TIntCollection
collection
- a Collection
valuepublic boolean addAll(TIntCollection collection)
addAll
in interface TIntCollection
collection
- a TIntCollection
valuepublic boolean addAll(int[] array)
addAll
in interface TIntCollection
array
- a array
of int primitives.public boolean retainAll(java.util.Collection<?> collection)
retainAll
in interface TIntCollection
collection
- a Collection
valuepublic boolean retainAll(TIntCollection collection)
retainAll
in interface TIntCollection
collection
- a TIntCollection
valuepublic boolean retainAll(int[] array)
retainAll
in interface TIntCollection
array
- an array
of int primitives.public boolean removeAll(java.util.Collection<?> collection)
removeAll
in interface TIntCollection
collection
- a Collection
valuepublic boolean removeAll(TIntCollection collection)
removeAll
in interface TIntCollection
collection
- a TIntCollection
valuepublic boolean removeAll(int[] array)
removeAll
in interface TIntCollection
array
- an array
of int primitives.public void transformValues(TIntFunction function)
transformValues
in interface TIntList
function
- a TIntFunction
valuepublic void reverse()
public void reverse(int from, int to)
public void shuffle(java.util.Random rand)
public TIntList subList(int begin, int end)
public int[] toArray()
toArray
in interface TIntList
toArray
in interface TIntCollection
int[]
valuepublic int[] toArray(int offset, int len)
public int[] toArray(int[] dest)
If the list fits in the specified array with room to spare (i.e.,
the array has more elements than the list), the element in the array
immediately following the end of the list is set to
TIntList.getNoEntryValue()
.
(This is useful in determining the length of the list only if
the caller knows that the list does not contain any "null" elements.)
NOTE: Trove does not allocate a new array if the array passed in is not large enough to hold all of the data elements. It will instead fill the array passed in.
toArray
in interface TIntList
toArray
in interface TIntCollection
dest
- the array to copy into.public int[] toArray(int[] dest, int offset, int len)
public int[] toArray(int[] dest, int source_pos, int dest_pos, int len)
public boolean equals(java.lang.Object other)
equals
in interface TIntCollection
equals
in class java.lang.Object
other
- object to be compared for equality with this collectionpublic int hashCode()
Object.hashCode()
.hashCode
in interface TIntCollection
hashCode
in class java.lang.Object
Object.equals(Object)
,
Collection.equals(Object)
public boolean forEach(TIntProcedure procedure)
forEach
in interface TIntList
forEach
in interface TIntCollection
procedure
- a TIntProcedure
valuepublic boolean forEachDescending(TIntProcedure procedure)
forEachDescending
in interface TIntList
procedure
- a TIntProcedure
valuepublic void sort()
public void sort(int fromIndex, int toIndex)
public void fill(int val)
public void fill(int fromIndex, int toIndex, int val)
public int binarySearch(int value)
binarySearch
in interface TIntList
value
- the value to search forpublic int binarySearch(int value, int fromIndex, int toIndex)
binarySearch
in interface TIntList
value
- the value to search forfromIndex
- the lower boundary of the range (inclusive)toIndex
- the upper boundary of the range (exclusive)public int indexOf(int value)
indexOf
in interface TIntList
value
- an int
valuefor faster searches on sorted lists
public int indexOf(int offset, int value)
indexOf
in interface TIntList
offset
- the offset at which to start the linear search
(inclusive)value
- an int
valuefor faster searches on sorted lists
public int lastIndexOf(int value)
lastIndexOf
in interface TIntList
value
- an int
valuefor faster searches on sorted lists
public int lastIndexOf(int offset, int value)
lastIndexOf
in interface TIntList
offset
- the offset at which to start the linear search
(exclusive)value
- an int
valuefor faster searches on sorted lists
public boolean contains(int value)
contains
in interface TIntList
contains
in interface TIntCollection
value
- an int
valuepublic TIntList grep(TIntProcedure condition)
public TIntList inverseGrep(TIntProcedure condition)
grep -v
.inverseGrep
in interface TIntList
condition
- a condition to apply to each element in the listpublic int max()
public int min()
public int sum()
public java.lang.String toString()
toString
in class java.lang.Object
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
writeExternal
in interface java.io.Externalizable
java.io.IOException
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException
readExternal
in interface java.io.Externalizable
java.io.IOException
java.lang.ClassNotFoundException