Module java.base
Package java.util

Class AbstractMap.SimpleEntry<K,​V>

  • All Implemented Interfaces:
    Serializable, Map.Entry<K,​V>
    Enclosing class:
    AbstractMap<K,​V>

    public static class AbstractMap.SimpleEntry<K,​V>
    extends Object
    implements Map.Entry<K,​V>, Serializable
    An Entry maintaining a key and a value. The value may be changed using the setValue method. This class facilitates the process of building custom map implementations. For example, it may be convenient to return arrays of SimpleEntry instances in method Map.entrySet().toArray.
    Since:
    1.6
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      SimpleEntry​(Map.Entry<? extends K,​? extends V> entry)
      Creates an entry representing the same mapping as the specified entry.
      SimpleEntry​(K key, V value)
      Creates an entry representing a mapping from the specified key to the specified value.
    • Method Summary

      Modifier and Type Method Description
      boolean equals​(Object o)
      Compares the specified object with this entry for equality.
      K getKey()
      Returns the key corresponding to this entry.
      V getValue()
      Returns the value corresponding to this entry.
      int hashCode()
      Returns the hash code value for this map entry.
      V setValue​(V value)
      Replaces the value corresponding to this entry with the specified value.
      String toString()
      Returns a String representation of this map entry.
    • Constructor Detail

      • SimpleEntry

        public SimpleEntry​(K key,
                           V value)
        Creates an entry representing a mapping from the specified key to the specified value.
        Parameters:
        key - the key represented by this entry
        value - the value represented by this entry
      • SimpleEntry

        public SimpleEntry​(Map.Entry<? extends K,​? extends V> entry)
        Creates an entry representing the same mapping as the specified entry.
        Parameters:
        entry - the entry to copy
    • Method Detail

      • getKey

        public K getKey()
        Returns the key corresponding to this entry.
        Specified by:
        getKey in interface Map.Entry<K,​V>
        Returns:
        the key corresponding to this entry
      • getValue

        public V getValue()
        Returns the value corresponding to this entry.
        Specified by:
        getValue in interface Map.Entry<K,​V>
        Returns:
        the value corresponding to this entry
      • setValue

        public V setValue​(V value)
        Replaces the value corresponding to this entry with the specified value.
        Specified by:
        setValue in interface Map.Entry<K,​V>
        Parameters:
        value - new value to be stored in this entry
        Returns:
        the old value corresponding to the entry
      • equals

        public boolean equals​(Object o)
        Compares the specified object with this entry for equality. Returns true if the given object is also a map entry and the two entries represent the same mapping. More formally, two entries e1 and e2 represent the same mapping if
           (e1.getKey()==null ?
            e2.getKey()==null :
            e1.getKey().equals(e2.getKey()))
           &&
           (e1.getValue()==null ?
            e2.getValue()==null :
            e1.getValue().equals(e2.getValue()))
        This ensures that the equals method works properly across different implementations of the Map.Entry interface.
        Specified by:
        equals in interface Map.Entry<K,​V>
        Overrides:
        equals in class Object
        Parameters:
        o - object to be compared for equality with this map entry
        Returns:
        true if the specified object is equal to this map entry
        See Also:
        hashCode()
      • hashCode

        public int hashCode()
        Returns the hash code value for this map entry. The hash code of a map entry e is defined to be:
           (e.getKey()==null   ? 0 : e.getKey().hashCode()) ^
           (e.getValue()==null ? 0 : e.getValue().hashCode())
        This ensures that e1.equals(e2) implies that e1.hashCode()==e2.hashCode() for any two Entries e1 and e2, as required by the general contract of Object.hashCode().
        Specified by:
        hashCode in interface Map.Entry<K,​V>
        Overrides:
        hashCode in class Object
        Returns:
        the hash code value for this map entry
        See Also:
        equals(java.lang.Object)
      • toString

        public String toString()
        Returns a String representation of this map entry. This implementation returns the string representation of this entry's key followed by the equals character ("=") followed by the string representation of this entry's value.
        Overrides:
        toString in class Object
        Returns:
        a String representation of this map entry