Class DefaultKeyValue<K,V>

java.lang.Object
org.apache.commons.collections4.keyvalue.AbstractKeyValue<K,V>
org.apache.commons.collections4.keyvalue.DefaultKeyValue<K,V>
Type Parameters:
K - the type of keys
V - the type of values
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
  • Constructor Details

    • 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 Details

    • 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
    • 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