org.apache.commons.collections4.keyvalue

## Class DefaultKeyValue<K,V>

- java.lang.Object
- - org.apache.commons.collections4.keyvalue.AbstractKeyValue<K,V>
  - - org.apache.commons.collections4.keyvalue.DefaultKeyValue<K,V>

- All Implemented Interfaces:
    KeyValue<K,V>

      public class DefaultKeyValue<K,V>
      extends AbstractKeyValue<K,V>

  A mutable `KeyValue` pair that does not implement `Map.Entry`.

  Note that a `DefaultKeyValue` instance may not contain itself as a key or value.

  Since:
    3.0
  Version:
    $Id: DefaultKeyValue.java 1533984 2013-10-20 21:12:51Z tn $

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DefaultKeyValue()` Constructs a new pair with a null key and null value.
    `DefaultKeyValue(KeyValue<? extends K,? extends V> pair)` Constructs a new pair from the specified `KeyValue`.
    `DefaultKeyValue(K key, V value)` Constructs a new pair with the specified key and given value.
    `DefaultKeyValue(Map.Entry<? extends K,? extends V> entry)` Constructs a new pair from the specified `Map.Entry`.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(Object obj)` Compares this `Map.Entry` with another `Map.Entry`.
    `int` | `hashCode()` Gets a hashCode compatible with the equals method.
    `K` | `setKey(K key)` Sets the key.
    `V` | `setValue(V value)` Sets the value.
    `Map.Entry<K,V>` | `toMapEntry()` Returns a new `Map.Entry` object with key and value from this pair.

    - ### Methods inherited from class org.apache.commons.collections4.keyvalue.AbstractKeyValue

      `getKey, getValue, toString`

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

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### DefaultKeyValue

          public DefaultKeyValue()

      Constructs a new pair with a null key and null value.

    - #### DefaultKeyValue

          public DefaultKeyValue(K key,
                         V value)

      Constructs a new pair with the specified key and given value.
      Parameters:
        `key` - the key for the entry, may be null
        `value` - the value for the entry, may be null

    - #### DefaultKeyValue

          public DefaultKeyValue(KeyValue<? extends K,? extends V> pair)

      Constructs a new pair from the specified `KeyValue`.
      Parameters:
        `pair` - the pair to copy, must not be null
      Throws:
        `NullPointerException` - if the entry is null

    - #### DefaultKeyValue

          public DefaultKeyValue(Map.Entry<? extends K,? extends V> entry)

      Constructs a new pair from the specified `Map.Entry`.
      Parameters:
        `entry` - the entry to copy, must not be null
      Throws:
        `NullPointerException` - if the entry is null

  - ### Method Detail

    - #### setKey

          public K setKey(K key)

      Sets the key.
      Overrides:
        `setKey` in class `AbstractKeyValue<K,V>`
      Parameters:
        `key` - the new key
      Returns:
        the old key
      Throws:
        `IllegalArgumentException` - if key is this object

    - #### setValue

          public V setValue(V value)

      Sets the value.
      Overrides:
        `setValue` in class `AbstractKeyValue<K,V>`
      Parameters:
        `value` - the new value
      Returns:
        the old value of the value
      Throws:
        `IllegalArgumentException` - if value is this object

    - #### toMapEntry

          public Map.Entry<K,V> toMapEntry()

      Returns a new `Map.Entry` object with key and value from this pair.
      Returns:
        a MapEntry instance

    - #### equals

          public boolean equals(Object obj)

      Compares this `Map.Entry` with another `Map.Entry`.

      Returns true if the compared object is also a `DefaultKeyValue`, and its key and value are equal to this object's key and value.

      Overrides:
        `equals` in class `Object`
      Parameters:
        `obj` - the object to compare to
      Returns:
        true if equal key and value

    - #### hashCode

          public int hashCode()

      Gets a hashCode compatible with the equals method.

      Implemented per API documentation of `Map.Entry.hashCode()`, however subclasses may override this.

      Overrides:
        `hashCode` in class `Object`
      Returns:
        a suitable hash code

Copyright © 2001–2013 The Apache Software Foundation. All rights reserved.