TDoubleList
, TDoubleCollection
, java.io.Externalizable
, java.io.Serializable
public class TDoubleArrayList extends java.lang.Object implements TDoubleList, java.io.Externalizable
Modifier and Type | Field | Description |
---|---|---|
protected double[] |
_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 double |
no_entry_value |
the double value that represents null
|
Modifier | Constructor | Description |
---|---|---|
|
TDoubleArrayList() |
Creates a new
TDoubleArrayList instance with the
default capacity. |
|
TDoubleArrayList(double[] values) |
Creates a new
TDoubleArrayList instance whose
capacity is the length of values array and whose
initial contents are the specified values. |
protected |
TDoubleArrayList(double[] values,
double no_entry_value,
boolean wrap) |
|
|
TDoubleArrayList(int capacity) |
Creates a new
TDoubleArrayList instance with the
specified capacity. |
|
TDoubleArrayList(int capacity,
double no_entry_value) |
Creates a new
TDoubleArrayList instance with the
specified capacity. |
|
TDoubleArrayList(TDoubleCollection collection) |
Creates a new
TDoubleArrayList instance that contains
a copy of the collection passed to us. |
Modifier and Type | Method | Description |
---|---|---|
boolean |
add(double val) |
Adds val to the end of the list, growing as needed.
|
void |
add(double[] vals) |
Adds the values in the array vals to the end of the
list, in order.
|
void |
add(double[] 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(double[] array) |
Adds all of the elements in the array to the collection.
|
boolean |
addAll(TDoubleCollection collection) |
Adds all of the elements in the TDoubleCollection to the collection.
|
boolean |
addAll(java.util.Collection<? extends java.lang.Double> collection) |
Adds all of the elements in collection to the collection.
|
int |
binarySearch(double value) |
Performs a binary search for value in the entire list.
|
int |
binarySearch(double 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(double value) |
Searches the list for value
|
boolean |
containsAll(double[] array) |
Tests the collection to determine if all of the elements in
array are present.
|
boolean |
containsAll(TDoubleCollection collection) |
Tests the collection to determine if all of the elements in
TDoubleCollection are present.
|
boolean |
containsAll(java.util.Collection<?> collection) |
Tests the collection to determine if all of the elements in
collection 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(double val) |
Fills every slot in the list with the specified value.
|
void |
fill(int fromIndex,
int toIndex,
double val) |
Fills a range in the list with the specified value.
|
boolean |
forEach(TDoubleProcedure procedure) |
Applies the procedure to each value in the list in ascending
(front to back) order.
|
boolean |
forEachDescending(TDoubleProcedure procedure) |
Applies the procedure to each value in the list in descending
(back to front) order.
|
double |
get(int offset) |
Returns the value at the specified offset.
|
double |
getNoEntryValue() |
Returns the value that is used to represent null.
|
double |
getQuick(int offset) |
Returns the value at the specified offset without doing any bounds checking.
|
TDoubleList |
grep(TDoubleProcedure 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(double value) |
Searches the list front to back for the index of
value.
|
int |
indexOf(int offset,
double value) |
Searches the list front to back for the index of
value, starting at offset.
|
void |
insert(int offset,
double value) |
Inserts value into the list at offset.
|
void |
insert(int offset,
double[] values) |
Inserts the array of values into the list at
offset.
|
void |
insert(int offset,
double[] values,
int valOffset,
int len) |
Inserts a slice of the array of values into the list
at offset.
|
TDoubleList |
inverseGrep(TDoubleProcedure condition) |
Searches the list for values which do not satisfy
condition.
|
boolean |
isEmpty() |
Tests whether this list contains any values.
|
TDoubleIterator |
iterator() |
Creates an iterator over the values of the collection.
|
int |
lastIndexOf(double value) |
Searches the list back to front for the last index of
value.
|
int |
lastIndexOf(int offset,
double value) |
Searches the list back to front for the last index of
value, starting at offset.
|
double |
max() |
Finds the maximum value in the list.
|
double |
min() |
Finds the minimum value in the list.
|
void |
readExternal(java.io.ObjectInput in) |
|
boolean |
remove(double value) |
Removes value from the list.
|
void |
remove(int offset,
int length) |
Removes length values from the list, starting at
offset
|
boolean |
removeAll(double[] array) |
Removes all of the elements in array from the collection.
|
boolean |
removeAll(TDoubleCollection collection) |
Removes all of the elements in TDoubleCollection from the collection.
|
boolean |
removeAll(java.util.Collection<?> collection) |
Removes all of the elements in collection from the collection.
|
double |
removeAt(int offset) |
Removes value at a given offset from the list.
|
double |
replace(int offset,
double 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(double[] array) |
Removes any values in the collection which are not contained in
array.
|
boolean |
retainAll(TDoubleCollection collection) |
Removes any values in the collection which are not contained in
TDoubleCollection.
|
boolean |
retainAll(java.util.Collection<?> collection) |
Removes any values in the collection which are not contained in
collection.
|
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.
|
double |
set(int offset,
double val) |
Sets the value at the specified offset.
|
void |
set(int offset,
double[] values) |
Replace the values in the list starting at offset with
the contents of the values array.
|
void |
set(int offset,
double[] 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,
double 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.
|
TDoubleList |
subList(int begin,
int end) |
Returns a sublist of this list.
|
double |
sum() |
Calculates the sum of all the values in the list.
|
double[] |
toArray() |
Copies the contents of the list into a native array.
|
double[] |
toArray(double[] dest) |
Copies a slice of the list into a native array.
|
double[] |
toArray(double[] dest,
int offset,
int len) |
Copies a slice of the list into a native array.
|
double[] |
toArray(double[] dest,
int source_pos,
int dest_pos,
int len) |
Copies a slice of the list into a native array.
|
double[] |
toArray(int offset,
int len) |
Copies a slice of the list into a native array.
|
java.lang.String |
toString() |
|
void |
transformValues(TDoubleFunction 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 TDoubleArrayList |
wrap(double[] values) |
Returns a primitive List implementation that wraps around the given primitive array.
|
static TDoubleArrayList |
wrap(double[] values,
double no_entry_value) |
Returns a primitive List implementation that wraps around the given primitive array.
|
void |
writeExternal(java.io.ObjectOutput out) |
protected double[] _data
protected int _pos
protected static final int DEFAULT_CAPACITY
protected double no_entry_value
public TDoubleArrayList()
TDoubleArrayList
instance with the
default capacity.public TDoubleArrayList(int capacity)
TDoubleArrayList
instance with the
specified capacity.capacity
- an int
valuepublic TDoubleArrayList(int capacity, double no_entry_value)
TDoubleArrayList
instance with the
specified capacity.capacity
- an int
valueno_entry_value
- an double
value that represents null.public TDoubleArrayList(TDoubleCollection collection)
TDoubleArrayList
instance that contains
a copy of the collection passed to us.collection
- the collection to copypublic TDoubleArrayList(double[] values)
TDoubleArrayList
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 double[]
valueprotected TDoubleArrayList(double[] values, double no_entry_value, boolean wrap)
public static TDoubleArrayList wrap(double[] values)
values
- public static TDoubleArrayList wrap(double[] values, double no_entry_value)
values
- no_entry_value
- public double getNoEntryValue()
getNoEntryValue
in interface TDoubleCollection
getNoEntryValue
in interface TDoubleList
public void ensureCapacity(int capacity)
public int size()
size
in interface TDoubleCollection
size
in interface TDoubleList
public boolean isEmpty()
isEmpty
in interface TDoubleCollection
isEmpty
in interface TDoubleList
public void trimToSize()
public boolean add(double val)
add
in interface TDoubleCollection
add
in interface TDoubleList
val
- an double
valuepublic void add(double[] vals)
add
in interface TDoubleList
vals
- an double[]
valuepublic void add(double[] vals, int offset, int length)
add
in interface TDoubleList
vals
- an double[]
valueoffset
- the offset at which to start copyinglength
- the number of values to copy.public void insert(int offset, double value)
insert
in interface TDoubleList
offset
- an int
valuevalue
- an double
valuepublic void insert(int offset, double[] values)
insert
in interface TDoubleList
offset
- an int
valuevalues
- an double[]
valuepublic void insert(int offset, double[] values, int valOffset, int len)
insert
in interface TDoubleList
offset
- an int
valuevalues
- an double[]
valuevalOffset
- the offset in the values array at which to
start copying.len
- the number of values to copy from the values arraypublic double get(int offset)
get
in interface TDoubleList
offset
- an int
valuedouble
valuepublic double getQuick(int offset)
public double set(int offset, double val)
set
in interface TDoubleList
offset
- an int
valueval
- an double
valuepublic double replace(int offset, double val)
replace
in interface TDoubleList
offset
- an int
valueval
- an double
valuepublic void set(int offset, double[] values)
set
in interface TDoubleList
offset
- the first offset to replacevalues
- the source of the new valuespublic void set(int offset, double[] values, int valOffset, int length)
set
in interface TDoubleList
offset
- the first offset to replacevalues
- the source of the new valuesvalOffset
- the first value to copy from the values arraylength
- the number of values to copypublic void setQuick(int offset, double val)
public void clear()
clear
in interface TDoubleCollection
clear
in interface TDoubleList
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(double value)
remove
in interface TDoubleCollection
remove
in interface TDoubleList
value
- an double
valuepublic double removeAt(int offset)
removeAt
in interface TDoubleList
offset
- an int
value that represents
the offset to the element to be removedpublic void remove(int offset, int length)
remove
in interface TDoubleList
offset
- an int
valuelength
- an int
valuepublic TDoubleIterator iterator()
iterator
in interface TDoubleCollection
TDoubleIterator
valuepublic boolean containsAll(java.util.Collection<?> collection)
containsAll
in interface TDoubleCollection
collection
- a Collection
valuepublic boolean containsAll(TDoubleCollection collection)
containsAll
in interface TDoubleCollection
collection
- a TDoubleCollection
valuepublic boolean containsAll(double[] array)
containsAll
in interface TDoubleCollection
array
- as array
of double primitives.public boolean addAll(java.util.Collection<? extends java.lang.Double> collection)
addAll
in interface TDoubleCollection
collection
- a Collection
valuepublic boolean addAll(TDoubleCollection collection)
addAll
in interface TDoubleCollection
collection
- a TDoubleCollection
valuepublic boolean addAll(double[] array)
addAll
in interface TDoubleCollection
array
- a array
of double primitives.public boolean retainAll(java.util.Collection<?> collection)
retainAll
in interface TDoubleCollection
collection
- a Collection
valuepublic boolean retainAll(TDoubleCollection collection)
retainAll
in interface TDoubleCollection
collection
- a TDoubleCollection
valuepublic boolean retainAll(double[] array)
retainAll
in interface TDoubleCollection
array
- an array
of double primitives.public boolean removeAll(java.util.Collection<?> collection)
removeAll
in interface TDoubleCollection
collection
- a Collection
valuepublic boolean removeAll(TDoubleCollection collection)
removeAll
in interface TDoubleCollection
collection
- a TDoubleCollection
valuepublic boolean removeAll(double[] array)
removeAll
in interface TDoubleCollection
array
- an array
of double primitives.public void transformValues(TDoubleFunction function)
transformValues
in interface TDoubleList
function
- a TDoubleFunction
valuepublic void reverse()
reverse
in interface TDoubleList
public void reverse(int from, int to)
reverse
in interface TDoubleList
from
- the inclusive index at which to start reversingto
- the exclusive index at which to stop reversingpublic void shuffle(java.util.Random rand)
shuffle
in interface TDoubleList
rand
- a Random
valuepublic TDoubleList subList(int begin, int end)
subList
in interface TDoubleList
begin
- low endpoint (inclusive) of the subList.end
- high endpoint (exclusive) of the subList.public double[] toArray()
toArray
in interface TDoubleCollection
toArray
in interface TDoubleList
double[]
valuepublic double[] toArray(int offset, int len)
toArray
in interface TDoubleList
offset
- the offset at which to start copyinglen
- the number of values to copy.double[]
valuepublic double[] toArray(double[] 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
TDoubleList.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 TDoubleCollection
toArray
in interface TDoubleList
dest
- the array to copy into.public double[] toArray(double[] dest, int offset, int len)
toArray
in interface TDoubleList
dest
- the array to copy into.offset
- the offset where the first value should be copiedlen
- the number of values to copy.public double[] toArray(double[] dest, int source_pos, int dest_pos, int len)
toArray
in interface TDoubleList
dest
- the array to copy into.source_pos
- the offset of the first value to copydest_pos
- the offset where the first value should be copiedlen
- the number of values to copy.public boolean equals(java.lang.Object other)
equals
in interface TDoubleCollection
equals
in class java.lang.Object
other
- object to be compared for equality with this collectionpublic int hashCode()
Object.hashCode()
.hashCode
in interface TDoubleCollection
hashCode
in class java.lang.Object
Object.equals(Object)
,
Collection.equals(Object)
public boolean forEach(TDoubleProcedure procedure)
forEach
in interface TDoubleCollection
forEach
in interface TDoubleList
procedure
- a TDoubleProcedure
valuepublic boolean forEachDescending(TDoubleProcedure procedure)
forEachDescending
in interface TDoubleList
procedure
- a TDoubleProcedure
valuepublic void sort()
sort
in interface TDoubleList
Arrays.sort(int[])
public void sort(int fromIndex, int toIndex)
sort
in interface TDoubleList
fromIndex
- the index at which to start sorting (inclusive)toIndex
- the index at which to stop sorting (exclusive)Arrays.sort(int[])
public void fill(double val)
fill
in interface TDoubleList
val
- the value to use when fillingpublic void fill(int fromIndex, int toIndex, double val)
fill
in interface TDoubleList
fromIndex
- the offset at which to start filling (inclusive)toIndex
- the offset at which to stop filling (exclusive)val
- the value to use when fillingpublic int binarySearch(double value)
binarySearch
in interface TDoubleList
value
- the value to search forpublic int binarySearch(double value, int fromIndex, int toIndex)
binarySearch
in interface TDoubleList
value
- the value to search forfromIndex
- the lower boundary of the range (inclusive)toIndex
- the upper boundary of the range (exclusive)public int indexOf(double value)
indexOf
in interface TDoubleList
value
- an double
valuefor faster searches on sorted lists
public int indexOf(int offset, double value)
indexOf
in interface TDoubleList
offset
- the offset at which to start the linear search
(inclusive)value
- an double
valuefor faster searches on sorted lists
public int lastIndexOf(double value)
lastIndexOf
in interface TDoubleList
value
- an double
valuefor faster searches on sorted lists
public int lastIndexOf(int offset, double value)
lastIndexOf
in interface TDoubleList
offset
- the offset at which to start the linear search
(exclusive)value
- an double
valuefor faster searches on sorted lists
public boolean contains(double value)
contains
in interface TDoubleCollection
contains
in interface TDoubleList
value
- an double
valuepublic TDoubleList grep(TDoubleProcedure condition)
grep
in interface TDoubleList
condition
- a condition to apply to each element in the listpublic TDoubleList inverseGrep(TDoubleProcedure condition)
grep -v
.inverseGrep
in interface TDoubleList
condition
- a condition to apply to each element in the listpublic double max()
max
in interface TDoubleList
public double min()
min
in interface TDoubleList
public double sum()
sum
in interface TDoubleList
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