org.apache.commons.math3.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:
$Id: DoubleArray.java 1416643 2012-12-03 19:37:14Z tn $

Method Summary
 void addElement(double value)
          Adds an element to the end of this expandable array
 double addElementRolling(double value)
           Adds an element to the end of the array and removes the first element in the array.
 void addElements(double[] values)
          Adds elements to the end of this expandable array
 void clear()
          Clear the double array
 double getElement(int index)
          Returns the element at the specified index.
 double[] getElements()
          Returns a double[] array containing the elements of this DoubleArray.
 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:
ArrayIndexOutOfBoundsException - if index is less than zero or is greater than getNumElements() - 1.

setElement

void setElement(int index,
                double value)
Sets the element at the specified index. If the specified index is greater than getNumElements() - 1, the numElements property is increased to index +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 in
value - value to store at the specified index
Throws:
ArrayIndexOutOfBoundsException - if index 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

addElements

void addElements(double[] values)
Adds elements to the end of this expandable array

Parameters:
values - 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 this DoubleArray. 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 the DoubleArray.

Returns:
all elements added to the array

clear

void clear()
Clear the double array



Copyright © 2003-2012 The Apache Software Foundation. All Rights Reserved.