Package ghidra.util.datastruct

# Class ObjectArray

java.lang.Object
ghidra.util.datastruct.ObjectArray

All Implemented Interfaces:
  `Array`, `Serializable`

public class ObjectArray extends Object implements Array, Serializable
Array of objects that grows as needed.

See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ObjectArray()`
  Creates a new Object array of a default size.
  `ObjectArray(int size)`
  Creates a new object array that is initially the size specified.

- ## 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.
  `Object`
  `get(int index)`
  Returns the Object at the given index
  `int`
  `getLastNonEmptyIndex()`
  Returns the index of the last non-null or non-zero element in the array.
  `void`
  `put(int index, Object value)`
  Puts the given Object in the Object array at the given index
  `void`
  `remove(int index)`
  Sets the value at the given index to null.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### ObjectArray

    public ObjectArray()
    Creates a new Object array of a default size.

  - ### ObjectArray

    public ObjectArray(int size)
    Creates a new object array that is initially the size specified.
    Parameters:
      `size` - the initial size of the Object array.

- ## Method Details

  - ### put

    public void put(int index, Object value)
    Puts the given Object in the Object array at the given index
    Parameters:
      `index` - Index into the array.
      `value` - value to store
    Throws:
      `IndexOutOfBoundsException` - if the index is negative

  - ### remove

    public void remove(int index)
    Sets the value at the given index to null.
    Specified by:
      `remove` in interface `Array`
    Parameters:
      `index` - the index to set to null.
    Throws:
      `IndexOutOfBoundsException` - if the index is negative

  - ### get

    public Object get(int index)
    Returns the Object at the given index
    Parameters:
      `index` - index into the array
    Returns:
      The Object value at the given index. A null will be return for any index not initialized to another value.
    Throws:
      `IndexOutOfBoundsException` - if the index is negative

  - ### getLastNonEmptyIndex

    public int getLastNonEmptyIndex()
    Description copied from interface: `Array`
    Returns the index of the last non-null or non-zero element in the array.
    Specified by:
      `getLastNonEmptyIndex` in interface `Array`
    Returns:
      the index of the last non-null or non-zero element in the array
    See Also:
      - `Array.getLastNonEmptyIndex()`

  - ### copyDataTo

    public void copyDataTo(int index, DataTable table, int toIndex, int toCol)
    Description copied from interface: `Array`
    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.
    Specified by:
      `copyDataTo` in interface `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.
    See Also:
      - `Array.copyDataTo(int, ghidra.util.datastruct.DataTable, int, int)`