## org.jfree.data
Class DefaultKeyedValues

    java.lang.Object
      org.jfree.data.DefaultKeyedValues

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, KeyedValues, Values, org.jfree.util.PublicCloneable

    public class DefaultKeyedValues

extends java.lang.Object
implements KeyedValues, java.lang.Cloneable, org.jfree.util.PublicCloneable, java.io.Serializable

An ordered list of (key, value) items. This class provides a default implementation of the `KeyedValues` interface.

See Also:
  Serialized Form

Constructor Summary
`DefaultKeyedValues()` Creates a new collection (initially empty).

Method Summary
`void` `addValue(java.lang.Comparable key, double value)` Updates an existing value, or adds a new value to the collection.
`void` `addValue(java.lang.Comparable key, java.lang.Number value)` Adds a new value to the collection, or updates an existing value.
`java.lang.Object` `clone()` Returns a clone.
`boolean` `equals(java.lang.Object obj)` Tests if this object is equal to another.
`int` `getIndex(java.lang.Comparable key)` Returns the index for a given key.
`int` `getItemCount()` Returns the number of items (values) in the collection.
`java.lang.Comparable` `getKey(int index)` Returns a key.
`java.util.List` `getKeys()` Returns the keys for the values in the collection.
`java.lang.Number` `getValue(java.lang.Comparable key)` Returns the value for a given key.
`java.lang.Number` `getValue(int item)` Returns a value.
`int` `hashCode()` Returns a hash code.
`void` `removeValue(java.lang.Comparable key)` Removes a value from the collection.
`void` `removeValue(int index)` Removes a value from the collection.
`void` `setValue(java.lang.Comparable key, double value)` Updates an existing value, or adds a new value to the collection.
`void` `setValue(java.lang.Comparable key, java.lang.Number value)` Updates an existing value, or adds a new value to the collection.
`void` `sortByKeys(org.jfree.util.SortOrder order)` Sorts the items in the list by key.
`void` `sortByValues(org.jfree.util.SortOrder order)` Sorts the items in the list by value.

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

Constructor Detail

### DefaultKeyedValues

    public DefaultKeyedValues()

  Creates a new collection (initially empty).

Method Detail

### getItemCount

    public int getItemCount()

  Returns the number of items (values) in the collection.

  Specified by:
    `getItemCount` in interface `Values`
  Returns:
    The item count.

### getValue

    public java.lang.Number getValue(int item)

  Returns a value.

  Specified by:
    `getValue` in interface `Values`
  Parameters:
    `item` - the item of interest (zero-based index).
  Returns:
    The value.
  Throws:
    `java.lang.IndexOutOfBoundsException` - if `item` is out of bounds.

### getKey

    public java.lang.Comparable getKey(int index)

  Returns a key.

  Specified by:
    `getKey` in interface `KeyedValues`
  Parameters:
    `index` - the item index (zero-based).
  Returns:
    The row key.
  Throws:
    `java.lang.IndexOutOfBoundsException` - if `item` is out of bounds.

### getIndex

    public int getIndex(java.lang.Comparable key)

  Returns the index for a given key.

  Specified by:
    `getIndex` in interface `KeyedValues`
  Parameters:
    `key` - the key.
  Returns:
    The index, or `-1` if the key is unrecognised.

### getKeys

    public java.util.List getKeys()

  Returns the keys for the values in the collection.

  Specified by:
    `getKeys` in interface `KeyedValues`
  Returns:
    The keys (never `null`).

### getValue

    public java.lang.Number getValue(java.lang.Comparable key)

  Returns the value for a given key. If the key is not recognised, the method returns `null`.

  Specified by:
    `getValue` in interface `KeyedValues`
  Parameters:
    `key` - the key.
  Returns:
    The value (possibly `null`).
  Throws:
    `UnknownKeyException` - if the key is not recognised.

### addValue

    public void addValue(java.lang.Comparable key,
                         double value)

  Updates an existing value, or adds a new value to the collection.

  Parameters:
    `key` - the key (`null` not permitted).
    `value` - the value.

### addValue

    public void addValue(java.lang.Comparable key,
                         java.lang.Number value)

  Adds a new value to the collection, or updates an existing value. This method passes control directly to the `setValue(Comparable, Number)` method.

  Parameters:
    `key` - the key (`null` not permitted).
    `value` - the value (`null` permitted).

### setValue

    public void setValue(java.lang.Comparable key,
                         double value)

  Updates an existing value, or adds a new value to the collection.

  Parameters:
    `key` - the key (`null` not permitted).
    `value` - the value.

### setValue

    public void setValue(java.lang.Comparable key,
                         java.lang.Number value)

  Updates an existing value, or adds a new value to the collection.

  Parameters:
    `key` - the key (`null` not permitted).
    `value` - the value (`null` permitted).

### removeValue

    public void removeValue(int index)

  Removes a value from the collection.

  Parameters:
    `index` - the index of the item to remove.

### removeValue

    public void removeValue(java.lang.Comparable key)

  Removes a value from the collection.

  Parameters:
    `key` - the item key.
  Throws:
    `UnknownKeyException` - if the key is not recognised.

### sortByKeys

    public void sortByKeys(org.jfree.util.SortOrder order)

  Sorts the items in the list by key.

  Parameters:
    `order` - the sort order (`null` not permitted).

### sortByValues

    public void sortByValues(org.jfree.util.SortOrder order)

  Sorts the items in the list by value. If the list contains `null` values, they will sort to the end of the list, irrespective of the sort order.

  Parameters:
    `order` - the sort order (`null` not permitted).

### equals

    public boolean equals(java.lang.Object obj)

  Tests if this object is equal to another.

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

### hashCode

    public int hashCode()

  Returns a hash code.

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

### clone

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

  Returns a clone.

  Specified by:
    `clone` in interface `org.jfree.util.PublicCloneable`
  Overrides:
    `clone` in class `java.lang.Object`
  Returns:
    A clone.
  Throws:
    `java.lang.CloneNotSupportedException` - this class will not throw this exception, but subclasses might.