## org.jfree.data
Class DefaultKeyedValues

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

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

public class DefaultKeyedValues
extends java.lang.Object
implements KeyedValues, java.lang.Cloneable, java.io.Serializable

A collection of (key, value) pairs. 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, 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 o)` Tests if this object is equal to another.
`int` `getIndex(java.lang.Comparable key)` Returns the index for a given key or -1 if the key is not found.
`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 (possibly `null`) 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, 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.

### 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.

### getIndex

    public int getIndex(java.lang.Comparable key)

  Returns the index for a given key or -1 if the key is not found.

  Specified by:
    `getIndex` in interface `KeyedValues`
  Parameters:
    `key` - the key.
  Returns:
    the index.

### 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 (possibly `null`) 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.

### 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 is the same as the setValue(...) method.

  Parameters:
    `key` - the key.
    `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.

  This is the same as the addValue(...) method.

  Parameters:
    `key` - the key.
    `value` - the value.

### 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. If there is no value with the specified key, then this method does nothing.

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

### sortByKeys

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

  Sorts the items in the list by key.

  Parameters:
    `order` - the sort order (ascending or descending).

### 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 (ascending or descending).

### equals

    public boolean equals(java.lang.Object o)

  Tests if this object is equal to another.

  Parameters:
    `o` - the other object.
  Returns:
    A boolean.

### hashCode

    public int hashCode()

  Returns a hash code.

  Returns:
    a hash code.

### clone

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

  Returns a clone.

  Returns:
    A clone.
  Throws:
    `java.lang.CloneNotSupportedException` - this class will not throw this exception, but subclasses might.