Package ghidra.util.datastruct

# Interface Array

All Known Implementing Classes:
  `BooleanArray`, `ByteArray`, `ByteArrayArray`, `DoubleArray`, `DoubleArrayArray`, `FloatArray`, `FloatArrayArray`, `IntArray`, `IntArrayArray`, `LongArray`, `LongArrayArray`, `ObjectArray`, `ShortArray`, `ShortArrayArray`, `StringArray`, `StringArrayArray`

public interface Array
Base interface for Defining methods for managing a "virtual" array of some data type. Any access of an Array with an index that has never been set will return 0 (or something like that depending on the data type)

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `copyDataTo(int index, DataTable table, int toIndex, int toCol)`
  Copies the underlying value for this array at the given index to the data table at the given index and column.
  `int`
  `getLastNonEmptyIndex()`
  Returns the index of the last non-null or non-zero element in the array.
  `void`
  `remove(int index)`
  Removes the value at that index.

- ## Method Details

  - ### remove

    void remove(int index)
    Removes the value at that index. If the array is of primitive type (int, short, etc), then "removing" the value is equivilent to setting the value to 0;
    Parameters:
      `index` - int index into the array to remove.

  - ### getLastNonEmptyIndex

    int getLastNonEmptyIndex()
    Returns the index of the last non-null or non-zero element in the array.

  - ### copyDataTo

    void copyDataTo(int index, DataTable table, int toIndex, int toCol)
    Copies the underlying value for this array at the given index to the data table at the given index and column. The data type at the column in the data table must be the same as the data in this array.
    Parameters:
      `index` - index into this array to copy the value from.
      `table` - the data table object to copy the data to.
      `toIndex` - the index into the destination data table to copy the value.
      `toCol` - the data table column to store the value. Must be the same type as this array.