# Interface ObservableFloatArray

All Superinterfaces:
  `Observable, ObservableArray<ObservableFloatArray>`

public interface ObservableFloatArray extends ObservableArray<ObservableFloatArray>
`ObservableFloatArray` is a `float[]` array that allows listeners to track changes when they occur. In order to track changes, the internal array is encapsulated and there is no direct access available from the outside. Bulk operations are supported but they always do a copy of the data range.

Since:
  JavaFX 8.0
See Also:
  - `ArrayChangeListener`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addAll(float... elements)`
  Appends given `elements` to the end of this array.
  `void`
  `addAll(float[] src, int srcIndex, int length)`
  Appends a portion of given array to the end of this array.
  `void`
  `addAll(ObservableFloatArray src)`
  Appends content of a given observable array to the end of this array.
  `void`
  `addAll(ObservableFloatArray src, int srcIndex, int length)`
  Appends a portion of given observable array to the end of this array.
  `void`
  `copyTo(int srcIndex, float[] dest, int destIndex, int length)`
  Copies specified portion of array into `dest` array.
  `void`
  `copyTo(int srcIndex, ObservableFloatArray dest, int destIndex, int length)`
  Copies specified portion of array into `dest` observable array.
  `float`
  `get(int index)`
  Gets a single value of array.
  `void`
  `set(int index, float value)`
  Sets a single value in the array.
  `void`
  `set(int destIndex, float[] src, int srcIndex, int length)`
  Copies a portion of specified array into this observable array.
  `void`
  `set(int destIndex, ObservableFloatArray src, int srcIndex, int length)`
  Copies a portion of specified observable array into this observable array.
  `void`
  `setAll(float... elements)`
  Replaces this observable array content with given elements.
  `void`
  `setAll(float[] src, int srcIndex, int length)`
  Replaces this observable array content with a copy of portion of a given array.
  `void`
  `setAll(ObservableFloatArray src)`
  Replaces this observable array content with a copy of given observable array.
  `void`
  `setAll(ObservableFloatArray src, int srcIndex, int length)`
  Replaces this observable array content with a portion of a given observable array.
  `float[]`
  `toArray(float[] dest)`
  Returns an array containing copy of the observable array.
  `float[]`
  `toArray(int srcIndex, float[] dest, int length)`
  Returns an array containing copy of specified portion of the observable array.

  ### Methods declared in interface Observable

  `addListener, removeListener, subscribe`

  ### Methods declared in interface ObservableArray

  `addListener, clear, ensureCapacity, removeListener, resize, size, trimToSize`

- ## Method Details

  - ### copyTo

    void copyTo(int srcIndex, float[] dest, int destIndex, int length)
    Copies specified portion of array into `dest` array. Throws the same exceptions as `System.arraycopy()` method.
    Parameters:
      `srcIndex` - starting position in the observable array
      `dest` - destination array
      `destIndex` - starting position in destination array
      `length` - length of portion to copy

  - ### copyTo

    void copyTo(int srcIndex, ObservableFloatArray dest, int destIndex, int length)
    Copies specified portion of array into `dest` observable array. Throws the same exceptions as `System.arraycopy()` method.
    Parameters:
      `srcIndex` - starting position in the observable array
      `dest` - destination observable array
      `destIndex` - starting position in destination observable array
      `length` - length of portion to copy

  - ### get

    float get(int index)
    Gets a single value of array. This is generally as fast as direct access to an array and eliminates necessity to make a copy of array.
    Parameters:
      `index` - index of element to get
    Returns:
      value at the given index
    Throws:
      `ArrayIndexOutOfBoundsException` - if `index` is outside array bounds

  - ### addAll

    void addAll(float... elements)
    Appends given `elements` to the end of this array. Capacity is increased if necessary to match the new size of the data.
    Parameters:
      `elements` - elements to append

  - ### addAll

    void addAll(ObservableFloatArray src)
    Appends content of a given observable array to the end of this array. Capacity is increased if necessary to match the new size of the data.
    Parameters:
      `src` - observable array with elements to append

  - ### addAll

    void addAll(float[] src, int srcIndex, int length)
    Appends a portion of given array to the end of this array. Capacity is increased if necessary to match the new size of the data.
    Parameters:
      `src` - source array
      `srcIndex` - starting position in source array
      `length` - length of portion to append

  - ### addAll

    void addAll(ObservableFloatArray src, int srcIndex, int length)
    Appends a portion of given observable array to the end of this array. Capacity is increased if necessary to match the new size of the data.
    Parameters:
      `src` - source observable array
      `srcIndex` - starting position in source array
      `length` - length of portion to append

  - ### setAll

    void setAll(float... elements)
    Replaces this observable array content with given elements. Capacity is increased if necessary to match the new size of the data.
    Parameters:
      `elements` - elements to put into array content
    Throws:
      `NullPointerException` - if `src` is null

  - ### setAll

    void setAll(float[] src, int srcIndex, int length)
    Replaces this observable array content with a copy of portion of a given array. Capacity is increased if necessary to match the new size of the data.
    Parameters:
      `src` - source array to copy.
      `srcIndex` - starting position in source observable array
      `length` - length of a portion to copy
    Throws:
      `NullPointerException` - if `src` is null

  - ### setAll

    void setAll(ObservableFloatArray src)
    Replaces this observable array content with a copy of given observable array. Capacity is increased if necessary to match the new size of the data.
    Parameters:
      `src` - source observable array to copy.
    Throws:
      `NullPointerException` - if `src` is null

  - ### setAll

    void setAll(ObservableFloatArray src, int srcIndex, int length)
    Replaces this observable array content with a portion of a given observable array. Capacity is increased if necessary to match the new size of the data.
    Parameters:
      `src` - source observable array to copy.
      `srcIndex` - starting position in source observable array
      `length` - length of a portion to copy
    Throws:
      `NullPointerException` - if `src` is null

  - ### set

    void set(int destIndex, float[] src, int srcIndex, int length)
    Copies a portion of specified array into this observable array. Throws the same exceptions as `System.arraycopy()` method.
    Parameters:
      `destIndex` - the starting destination position in this observable array
      `src` - source array to copy
      `srcIndex` - starting position in source array
      `length` - length of portion to copy

  - ### set

    void set(int destIndex, ObservableFloatArray src, int srcIndex, int length)
    Copies a portion of specified observable array into this observable array. Throws the same exceptions as `System.arraycopy()` method.
    Parameters:
      `destIndex` - the starting destination position in this observable array
      `src` - source observable array to copy
      `srcIndex` - starting position in source array
      `length` - length of portion to copy

  - ### set

    void set(int index, float value)
    Sets a single value in the array. Avoid using this method if many values are updated, use set(int, float[], int, int) update method instead with as minimum number of invocations as possible.
    Parameters:
      `index` - index of the value to set
      `value` - new value for the given index
    Throws:
      `ArrayIndexOutOfBoundsException` - if `index` is outside array bounds

  - ### toArray

    float[] toArray(float[] dest)
    Returns an array containing copy of the observable array. If the observable array fits in the specified array, it is copied therein. Otherwise, a new array is allocated with the size of the observable array.
    Parameters:
      `dest` - the array into which the observable array to be copied, if it is big enough; otherwise, a new float array is allocated. Ignored, if null.
    Returns:
      a float array containing the copy of the observable array

  - ### toArray

    float[] toArray(int srcIndex, float[] dest, int length)
    Returns an array containing copy of specified portion of the observable array. If specified portion of the observable array fits in the specified array, it is copied therein. Otherwise, a new array of given length is allocated.
    Parameters:
      `srcIndex` - starting position in the observable array
      `dest` - the array into which specified portion of the observable array to be copied, if it is big enough; otherwise, a new float array is allocated. Ignored, if null.
      `length` - length of portion to copy
    Returns:
      a float array containing the copy of specified portion the observable array