## org.jfree.data
Class KeyedObjects2D

    java.lang.Object
      org.jfree.data.KeyedObjects2D

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable

    public class KeyedObjects2D

extends java.lang.Object
implements java.lang.Cloneable, java.io.Serializable

A data structure that stores zero, one or many objects, where each object is associated with two keys (a 'row' key and a 'column' key).

See Also:
  Serialized Form

Constructor Summary
`KeyedObjects2D()` Creates a new instance (initially empty).

Method Summary
`void` `addObject(java.lang.Object object, java.lang.Comparable rowKey, java.lang.Comparable columnKey)` Adds an object to the table.
`void` `clear()` Clears all the data and associated keys.
`java.lang.Object` `clone()` Returns a clone.
`boolean` `equals(java.lang.Object obj)` Tests this object for equality with an arbitrary object.
`int` `getColumnCount()` Returns the column count.
`int` `getColumnIndex(java.lang.Comparable key)` Returns the column index for a given key, or `-1` if the key is not recognised.
`java.lang.Comparable` `getColumnKey(int column)` Returns the key for a given column.
`java.util.List` `getColumnKeys()` Returns the column keys.
`java.lang.Object` `getObject(java.lang.Comparable rowKey, java.lang.Comparable columnKey)` Returns the object for the given row and column keys.
`java.lang.Object` `getObject(int row, int column)` Returns the object for a given row and column.
`int` `getRowCount()` Returns the row count.
`int` `getRowIndex(java.lang.Comparable key)` Returns the row index for a given key, or `-1` if the key is not recognised.
`java.lang.Comparable` `getRowKey(int row)` Returns the key for a given row.
`java.util.List` `getRowKeys()` Returns the row keys.
`int` `hashCode()` Returns a hashcode for this object.
`void` `removeColumn(java.lang.Comparable columnKey)` Removes an entire column from the table.
`void` `removeColumn(int columnIndex)` Removes an entire column from the table.
`void` `removeObject(java.lang.Comparable rowKey, java.lang.Comparable columnKey)` Removes an object from the table by setting it to `null`.
`void` `removeRow(java.lang.Comparable rowKey)` Removes an entire row from the table.
`void` `removeRow(int rowIndex)` Removes an entire row from the table.
`void` `setObject(java.lang.Object object, java.lang.Comparable rowKey, java.lang.Comparable columnKey)` Adds or updates an object.

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### KeyedObjects2D

    public KeyedObjects2D()

  Creates a new instance (initially empty).

Method Detail

### getRowCount

    public int getRowCount()

  Returns the row count.

  Returns:
    The row count.
  See Also:
    `getColumnCount()`

### getColumnCount

    public int getColumnCount()

  Returns the column count.

  Returns:
    The column count.
  See Also:
    `getRowCount()`

### getObject

    public java.lang.Object getObject(int row,
                                      int column)

  Returns the object for a given row and column.

  Parameters:
    `row` - the row index (in the range 0 to getRowCount() - 1).
    `column` - the column index (in the range 0 to getColumnCount() - 1).
  Returns:
    The object (possibly `null`).
  See Also:
    `getObject(Comparable, Comparable)`

### getRowKey

    public java.lang.Comparable getRowKey(int row)

  Returns the key for a given row.

  Parameters:
    `row` - the row index (zero based).
  Returns:
    The row index.
  See Also:
    `getRowIndex(Comparable)`

### getRowIndex

    public int getRowIndex(java.lang.Comparable key)

  Returns the row index for a given key, or `-1` if the key is not recognised.

  Parameters:
    `key` - the key (`null` not permitted).
  Returns:
    The row index.
  See Also:
    `getRowKey(int)`

### getRowKeys

    public java.util.List getRowKeys()

  Returns the row keys.

  Returns:
    The row keys (never `null`).
  See Also:
    `getRowKeys()`

### getColumnKey

    public java.lang.Comparable getColumnKey(int column)

  Returns the key for a given column.

  Parameters:
    `column` - the column.
  Returns:
    The key.
  See Also:
    `getColumnIndex(Comparable)`

### getColumnIndex

    public int getColumnIndex(java.lang.Comparable key)

  Returns the column index for a given key, or `-1` if the key is not recognised.

  Parameters:
    `key` - the key (`null` not permitted).
  Returns:
    The column index.
  See Also:
    `getColumnKey(int)`

### getColumnKeys

    public java.util.List getColumnKeys()

  Returns the column keys.

  Returns:
    The column keys (never `null`).
  See Also:
    `getRowKeys()`

### getObject

    public java.lang.Object getObject(java.lang.Comparable rowKey,
                                      java.lang.Comparable columnKey)

  Returns the object for the given row and column keys.

  Parameters:
    `rowKey` - the row key (`null` not permitted).
    `columnKey` - the column key (`null` not permitted).
  Returns:
    The object (possibly `null`).
  Throws:
    `java.lang.IllegalArgumentException` - if `rowKey`or `columnKey` is `null`.``
    `UnknownKeyException` - if `rowKey` or `columnKey` is not recognised.

### addObject

    public void addObject(java.lang.Object object,
                          java.lang.Comparable rowKey,
                          java.lang.Comparable columnKey)

  Adds an object to the table. Performs the same function as setObject().

  Parameters:
    `object` - the object.
    `rowKey` - the row key (`null` not permitted).
    `columnKey` - the column key (`null` not permitted).

### setObject

    public void setObject(java.lang.Object object,
                          java.lang.Comparable rowKey,
                          java.lang.Comparable columnKey)

  Adds or updates an object.

  Parameters:
    `object` - the object.
    `rowKey` - the row key (`null` not permitted).
    `columnKey` - the column key (`null` not permitted).

### removeObject

    public void removeObject(java.lang.Comparable rowKey,
                             java.lang.Comparable columnKey)

  Removes an object from the table by setting it to `null`. If all the objects in the specified row and/or column are now `null`, the row and/or column is removed from the table.

  Parameters:
    `rowKey` - the row key (`null` not permitted).
    `columnKey` - the column key (`null` not permitted).
  See Also:
    `addObject(Object, Comparable, Comparable)`

### removeRow

    public void removeRow(int rowIndex)

  Removes an entire row from the table.

  Parameters:
    `rowIndex` - the row index.
  See Also:
    `removeColumn(int)`

### removeRow

    public void removeRow(java.lang.Comparable rowKey)

  Removes an entire row from the table.

  Parameters:
    `rowKey` - the row key (`null` not permitted).
  Throws:
    `UnknownKeyException` - if `rowKey` is not recognised.
  See Also:
    `removeColumn(Comparable)`

### removeColumn

    public void removeColumn(int columnIndex)

  Removes an entire column from the table.

  Parameters:
    `columnIndex` - the column index.
  See Also:
    `removeRow(int)`

### removeColumn

    public void removeColumn(java.lang.Comparable columnKey)

  Removes an entire column from the table.

  Parameters:
    `columnKey` - the column key (`null` not permitted).
  Throws:
    `UnknownKeyException` - if `rowKey` is not recognised.
  See Also:
    `removeRow(Comparable)`

### clear

    public void clear()

  Clears all the data and associated keys.

  Since:
    1.0.7

### equals

    public boolean equals(java.lang.Object obj)

  Tests this object for equality with an arbitrary object.

  Overrides:
    `equals` in class `java.lang.Object`
  Parameters:
    `obj` - the object to test (`null` permitted).
  Returns:
    A boolean.

### hashCode

    public int hashCode()

  Returns a hashcode for this object.

  Overrides:
    `hashCode` in class `java.lang.Object`
  Returns:
    A hashcode.

### clone

    public java.lang.Object clone()
                           throws java.lang.CloneNotSupportedException

  Returns a clone.

  Overrides:
    `clone` in class `java.lang.Object`
  Returns:
    A clone.
  Throws:
    `java.lang.CloneNotSupportedException` - this class will not throw this exception, but subclasses (if any) might.