Module java.base
Package java.util

Interface Map.Entry<K,​V>

  • All Known Implementing Classes:
    AbstractMap.SimpleEntry,AbstractMap.SimpleImmutableEntry
    Enclosing interface:
    Map<K,​V>

    public static interfaceMap.Entry<K,​V>
    A map entry (key-value pair). TheMap.entrySet method returns a collection-view of the map, whose elements are of this class. Theonly way to obtain a reference to a map entry is from the iterator of this collection-view. TheseMap.Entry objects are validonly for the duration of the iteration; more formally, the behavior of a map entry is undefined if the backing map has been modified after the entry was returned by the iterator, except through thesetValue operation on the map entry.
    Since:
    1.2
    See Also:
    Map.entrySet()
    • Method Detail

      • getKey

        K getKey()
        Returns the key corresponding to this entry.
        Returns:
        the key corresponding to this entry
        Throws:
        IllegalStateException - implementations may, but are not required to, throw this exception if the entry has been removed from the backing map.
      • getValue

        V getValue()
        Returns the value corresponding to this entry. If the mapping has been removed from the backing map (by the iterator'sremove operation), the results of this call are undefined.
        Returns:
        the value corresponding to this entry
        Throws:
        IllegalStateException - implementations may, but are not required to, throw this exception if the entry has been removed from the backing map.
      • setValue

        V setValue​(V value)
        Replaces the value corresponding to this entry with the specified value (optional operation). (Writes through to the map.) The behavior of this call is undefined if the mapping has already been removed from the map (by the iterator'sremove operation).
        Parameters:
        value - new value to be stored in this entry
        Returns:
        old value corresponding to the entry
        Throws:
        UnsupportedOperationException - if theput operation is not supported by the backing map
        ClassCastException - if the class of the specified value prevents it from being stored in the backing map
        NullPointerException - if the backing map does not permit null values, and the specified value is null
        IllegalArgumentException - if some property of this value prevents it from being stored in the backing map
        IllegalStateException - implementations may, but are not required to, throw this exception if the entry has been removed from the backing map.
      • equals

        boolean equals​(Object o)
        Compares the specified object with this entry for equality. Returnstrue if the given object is also a map entry and the two entries represent the same mapping. More formally, two entriese1 ande2 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 theequals method works properly across different implementations of theMap.Entry interface.
        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:
        Object.hashCode(),HashMap
      • hashCode

        int hashCode()
        Returns the hash code value for this map entry. The hash code of a map entrye is defined to be:
             (e.getKey()==null   ? 0 : e.getKey().hashCode()) ^     (e.getValue()==null ? 0 : e.getValue().hashCode())
        This ensures thate1.equals(e2) implies thate1.hashCode()==e2.hashCode() for any two Entriese1 ande2, as required by the general contract ofObject.hashCode.
        Overrides:
        hashCode in class Object
        Returns:
        the hash code value for this map entry
        See Also:
        Object.hashCode(),Object.equals(Object),equals(Object)
      • comparingByKey

        static <K extendsComparable<? super K>,​V> Comparator<Map.Entry<K,​V>> comparingByKey()
        Returns a comparator that comparesMap.Entry in natural order on key.

        The returned comparator is serializable and throwsNullPointerException when comparing an entry with a null key.

        Type Parameters:
        K - theComparable type of then map keys
        V - the type of the map values
        Returns:
        a comparator that comparesMap.Entry in natural order on key.
        Since:
        1.8
        See Also:
        Comparable
      • comparingByValue

        static <K,​V extendsComparable<? super V>> Comparator<Map.Entry<K,​V>> comparingByValue()
        Returns a comparator that comparesMap.Entry in natural order on value.

        The returned comparator is serializable and throwsNullPointerException when comparing an entry with null values.

        Type Parameters:
        K - the type of the map keys
        V - theComparable type of the map values
        Returns:
        a comparator that comparesMap.Entry in natural order on value.
        Since:
        1.8
        See Also:
        Comparable
      • comparingByKey

        static <K,​V> Comparator<Map.Entry<K,​V>> comparingByKey​(Comparator<? super K> cmp)
        Returns a comparator that comparesMap.Entry by key using the givenComparator.

        The returned comparator is serializable if the specified comparator is also serializable.

        Type Parameters:
        K - the type of the map keys
        V - the type of the map values
        Parameters:
        cmp - the keyComparator
        Returns:
        a comparator that comparesMap.Entry by the key.
        Since:
        1.8
      • comparingByValue

        static <K,​V> Comparator<Map.Entry<K,​V>> comparingByValue​(Comparator<? super V> cmp)
        Returns a comparator that comparesMap.Entry by value using the givenComparator.

        The returned comparator is serializable if the specified comparator is also serializable.

        Type Parameters:
        K - the type of the map keys
        V - the type of the map values
        Parameters:
        cmp - the valueComparator
        Returns:
        a comparator that comparesMap.Entry by the value.
        Since:
        1.8