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

      • 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