DoubleArray (Apache Commons Math 3.6.1 API)

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".

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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–2016 The Apache Software Foundation. All rights reserved.