## org.jfree.data.statistics
Class DefaultMultiValueCategoryDataset

    java.lang.Object
      org.jfree.data.general.AbstractDataset
          org.jfree.data.statistics.DefaultMultiValueCategoryDataset

All Implemented Interfaces:
  java.io.ObjectInputValidation, java.io.Serializable, java.lang.Cloneable, CategoryDataset, Dataset, KeyedValues2D, RangeInfo, MultiValueCategoryDataset, Values2D, org.jfree.util.PublicCloneable

    public class DefaultMultiValueCategoryDataset

extends AbstractDataset
implements MultiValueCategoryDataset, RangeInfo, org.jfree.util.PublicCloneable

A category dataset that defines multiple values for each item.

Since:
  1.0.7
See Also:
  Serialized Form

Field Summary
`protected KeyedObjects2D` `data` Storage for the data.

Constructor Summary
`DefaultMultiValueCategoryDataset()` Creates a new dataset.

Method Summary
`void` `add(java.util.List values, java.lang.Comparable rowKey, java.lang.Comparable columnKey)` Adds a list of values to the dataset (`null` and Double.NaN items are automatically removed) and sends a `DatasetChangeEvent` to all registered listeners.
`java.lang.Object` `clone()` Returns a clone of this instance.
`boolean` `equals(java.lang.Object obj)` Tests this dataset for equality with an arbitrary object.
`int` `getColumnCount()` Returns the number of columns in the table.
`int` `getColumnIndex(java.lang.Comparable key)` Returns the column index for a given key.
`java.lang.Comparable` `getColumnKey(int column)` Returns a column key.
`java.util.List` `getColumnKeys()` Returns the column keys.
`Range` `getRangeBounds(boolean includeInterval)` Returns the range of the values in this dataset's range.
`double` `getRangeLowerBound(boolean includeInterval)` Returns the minimum y-value in the dataset.
`double` `getRangeUpperBound(boolean includeInterval)` Returns the maximum y-value in the dataset.
`int` `getRowCount()` Returns the number of rows in the table.
`int` `getRowIndex(java.lang.Comparable key)` Returns the row index for a given key.
`java.lang.Comparable` `getRowKey(int row)` Returns a row key.
`java.util.List` `getRowKeys()` Returns the row keys.
`java.lang.Number` `getValue(java.lang.Comparable row, java.lang.Comparable column)` Returns the average value for the specified item.
`java.lang.Number` `getValue(int row, int column)` Returns the average value for the specified item.
`java.util.List` `getValues(java.lang.Comparable rowKey, java.lang.Comparable columnKey)` Returns a list (possibly empty) of the values for the specified item.
`java.util.List` `getValues(int row, int column)` Returns a list (possibly empty) of the values for the specified item.

Methods inherited from class org.jfree.data.general.AbstractDataset
`addChangeListener, fireDatasetChanged, getGroup, hasListener, notifyListeners, removeChangeListener, setGroup, validateObject`

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

Methods inherited from interface org.jfree.data.general.Dataset
`addChangeListener, getGroup, removeChangeListener, setGroup`

Field Detail

### data

    protected KeyedObjects2D data

  Storage for the data.

Constructor Detail

### DefaultMultiValueCategoryDataset

    public DefaultMultiValueCategoryDataset()

  Creates a new dataset.

Method Detail

### add

    public void add(java.util.List values,
                    java.lang.Comparable rowKey,
                    java.lang.Comparable columnKey)

  Adds a list of values to the dataset (`null` and Double.NaN items are automatically removed) and sends a `DatasetChangeEvent` to all registered listeners.

  Parameters:
    `values` - a list of values (`null` not permitted).
    `rowKey` - the row key (`null` not permitted).
    `columnKey` - the column key (`null` not permitted).

### getValues

    public java.util.List getValues(int row,
                                    int column)

  Returns a list (possibly empty) of the values for the specified item. The returned list should be unmodifiable.

  Specified by:
    `getValues` in interface `MultiValueCategoryDataset`
  Parameters:
    `row` - the row index (zero-based).
    `column` - the column index (zero-based).
  Returns:
    The list of values.

### getValues

    public java.util.List getValues(java.lang.Comparable rowKey,
                                    java.lang.Comparable columnKey)

  Returns a list (possibly empty) of the values for the specified item. The returned list should be unmodifiable.

  Specified by:
    `getValues` in interface `MultiValueCategoryDataset`
  Parameters:
    `rowKey` - the row key (`null` not permitted).
    `columnKey` - the column key (`null` not permitted).
  Returns:
    The list of values.

### getValue

    public java.lang.Number getValue(java.lang.Comparable row,
                                     java.lang.Comparable column)

  Returns the average value for the specified item.

  Specified by:
    `getValue` in interface `KeyedValues2D`
  Parameters:
    `row` - the row key.
    `column` - the column key.
  Returns:
    The average value.

### getValue

    public java.lang.Number getValue(int row,
                                     int column)

  Returns the average value for the specified item.

  Specified by:
    `getValue` in interface `Values2D`
  Parameters:
    `row` - the row index.
    `column` - the column index.
  Returns:
    The average value.

### getColumnIndex

    public int getColumnIndex(java.lang.Comparable key)

  Returns the column index for a given key.

  Specified by:
    `getColumnIndex` in interface `KeyedValues2D`
  Parameters:
    `key` - the column key.
  Returns:
    The column index.

### getColumnKey

    public java.lang.Comparable getColumnKey(int column)

  Returns a column key.

  Specified by:
    `getColumnKey` in interface `KeyedValues2D`
  Parameters:
    `column` - the column index (zero-based).
  Returns:
    The column key.

### getColumnKeys

    public java.util.List getColumnKeys()

  Returns the column keys.

  Specified by:
    `getColumnKeys` in interface `KeyedValues2D`
  Returns:
    The keys.

### getRowIndex

    public int getRowIndex(java.lang.Comparable key)

  Returns the row index for a given key.

  Specified by:
    `getRowIndex` in interface `KeyedValues2D`
  Parameters:
    `key` - the row key.
  Returns:
    The row index.

### getRowKey

    public java.lang.Comparable getRowKey(int row)

  Returns a row key.

  Specified by:
    `getRowKey` in interface `KeyedValues2D`
  Parameters:
    `row` - the row index (zero-based).
  Returns:
    The row key.

### getRowKeys

    public java.util.List getRowKeys()

  Returns the row keys.

  Specified by:
    `getRowKeys` in interface `KeyedValues2D`
  Returns:
    The keys.

### getRowCount

    public int getRowCount()

  Returns the number of rows in the table.

  Specified by:
    `getRowCount` in interface `Values2D`
  Returns:
    The row count.

### getColumnCount

    public int getColumnCount()

  Returns the number of columns in the table.

  Specified by:
    `getColumnCount` in interface `Values2D`
  Returns:
    The column count.

### getRangeLowerBound

    public double getRangeLowerBound(boolean includeInterval)

  Returns the minimum y-value in the dataset.

  Specified by:
    `getRangeLowerBound` in interface `RangeInfo`
  Parameters:
    `includeInterval` - a flag that determines whether or not the y-interval is taken into account.
  Returns:
    The minimum value.

### getRangeUpperBound

    public double getRangeUpperBound(boolean includeInterval)

  Returns the maximum y-value in the dataset.

  Specified by:
    `getRangeUpperBound` in interface `RangeInfo`
  Parameters:
    `includeInterval` - a flag that determines whether or not the y-interval is taken into account.
  Returns:
    The maximum value.

### getRangeBounds

    public Range getRangeBounds(boolean includeInterval)

  Returns the range of the values in this dataset's range.

  Specified by:
    `getRangeBounds` in interface `RangeInfo`
  Parameters:
    `includeInterval` - a flag that determines whether or not the y-interval is taken into account.
  Returns:
    The range.

### equals

    public boolean equals(java.lang.Object obj)

  Tests this dataset for equality with an arbitrary object.

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

### clone

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

  Returns a clone of this instance.

  Specified by:
    `clone` in interface `org.jfree.util.PublicCloneable`
  Overrides:
    `clone` in class `AbstractDataset`
  Returns:
    A clone.
  Throws:
    `java.lang.CloneNotSupportedException` - if the dataset cannot be cloned.