Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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: 1.13 $ $Date: 2004/06/23 16:26:16 $

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` | `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

    public 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

    public 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

    public 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

    public void addElement(double value)

  Adds an element to the end of this expandable array

  Parameters:
    `value` - to be added to end of array

### addElementRolling

    public 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

    public 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

    public void clear()

  Clear the double array

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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