Package org.apache.commons.math.util
Interface DoubleArray
-
- All Known Implementing Classes:
ResizableDoubleArray
public interface DoubleArray
Provides a standard interface for double arrays. Allows different array implementations to support various storage mechanisms such as automatic expansion, contraction, and array "rolling".- Version:
- $Revision: 811685 $ $Date: 2009-09-05 19:36:48 +0200 (sam. 05 sept. 2009) $
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addElement(double value)
Adds an element to the end of this expandable arraydouble
addElementRolling(double value)
Adds an element to the end of the array and removes the first element in the array.void
clear()
Clear the double arraydouble
getElement(int index)
Returns the element at the specified index.double[]
getElements()
Returns a double[] array containing the elements of thisDoubleArray
.int
getNumElements()
Returns the number of elements currently in the array.void
setElement(int index, double value)
Sets the element at the specified index.
-
-
-
Method Detail
-
getNumElements
int getNumElements()
Returns the number of elements currently in the array. Please note that this may be different from the length of the internal storage array.- Returns:
- number of elements
-
getElement
double getElement(int index)
Returns the element at the specified index. Note that if an out of bounds index is supplied a ArrayIndexOutOfBoundsException will be thrown.- Parameters:
index
- index to fetch a value from- Returns:
- value stored at the specified index
- Throws:
java.lang.ArrayIndexOutOfBoundsException
- ifindex
is less than zero or is greater thangetNumElements() - 1
.
-
setElement
void setElement(int index, double value)
Sets the element at the specified index. If the specified index is greater thangetNumElements() - 1
, thenumElements
property is increased toindex +1
and additional storage is allocated (if necessary) for the new element and all (uninitialized) elements between the new element and the previous end of the array).- Parameters:
index
- index to store a value invalue
- value to store at the specified index- Throws:
java.lang.ArrayIndexOutOfBoundsException
- ifindex
is less than zero.
-
addElement
void addElement(double value)
Adds an element to the end of this expandable array- Parameters:
value
- to be added to end of array
-
addElementRolling
double addElementRolling(double value)
Adds an element to the end of the array and removes the first element in the array. Returns the discarded first element. The effect is similar to a push operation in a FIFO queue.
Example: If the array contains the elements 1, 2, 3, 4 (in that order) and addElementRolling(5) is invoked, the result is an array containing the entries 2, 3, 4, 5 and the value returned is 1.
- Parameters:
value
- the value to be added to the array- Returns:
- the value which has been discarded or "pushed" out of the array by this rolling insert
-
getElements
double[] getElements()
Returns a double[] array containing the elements of thisDoubleArray
. If the underlying implementation is array-based, this method should always return a copy, rather than a reference to the underlying array so that changes made to the returned array have no effect on theDoubleArray.
- Returns:
- all elements added to the array
-
clear
void clear()
Clear the double array
-
-