Map.Entry (Java SE 10 & JDK 10 ) (original) (raw)
- All Known Implementing Classes:
[AbstractMap.SimpleEntry](../../java/util/AbstractMap.SimpleEntry.html "class in java.util")
,[AbstractMap.SimpleImmutableEntry](../../java/util/AbstractMap.SimpleImmutableEntry.html "class in java.util")
Enclosing interface:
Map<K,V>
public static interface Map.Entry<K,V>
A map entry (key-value pair). The Map.entrySet
method returns a collection-view of the map, whose elements are of this class. The_only_ way to obtain a reference to a map entry is from the iterator of this collection-view. These Map.Entry
objects are valid only 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 the setValue
operation on the map entry.
Since:
1.2
See Also:
Map.entrySet()
Method Summary
All Methods Static Methods Instance Methods Abstract Methods
Modifier and Type Method Description static <K extends Comparable<? super K>,V>Comparator<Map.Entry<K,V>> comparingByKey() Returns a comparator that compares Map.Entry in natural order on key. static <K,V> Comparator<Map.Entry<K,V>> comparingByKey(Comparator<? super K> cmp) Returns a comparator that compares Map.Entry by key using the givenComparator. static <K,V extends Comparable<? super V>>Comparator<Map.Entry<K,V>> comparingByValue() Returns a comparator that compares Map.Entry in natural order on value. static <K,V> Comparator<Map.Entry<K,V>> comparingByValue(Comparator<? super V> cmp) Returns a comparator that compares Map.Entry by value using the givenComparator. 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 (optional operation). Method Detail
* #### getKey [K](../../java/util/Map.Entry.html "type parameter in Map.Entry") getKey() Returns the key corresponding to this entry. Returns: the key corresponding to this entry Throws: `[IllegalStateException](../../java/lang/IllegalStateException.html "class in java.lang")` \- implementations may, but are not required to, throw this exception if the entry has been removed from the backing map. * #### getValue [V](../../java/util/Map.Entry.html "type parameter in Map.Entry") getValue() Returns the value corresponding to this entry. If the mapping has been removed from the backing map (by the iterator's`remove` operation), the results of this call are undefined. Returns: the value corresponding to this entry Throws: `[IllegalStateException](../../java/lang/IllegalStateException.html "class in java.lang")` \- implementations may, but are not required to, throw this exception if the entry has been removed from the backing map. * #### setValue [V](../../java/util/Map.Entry.html "type parameter in Map.Entry") setValue([V](../../java/util/Map.Entry.html "type parameter in Map.Entry") 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's `remove` operation). Parameters: `value` \- new value to be stored in this entry Returns: old value corresponding to the entry Throws: `[UnsupportedOperationException](../../java/lang/UnsupportedOperationException.html "class in java.lang")` \- if the `put` operation is not supported by the backing map `[ClassCastException](../../java/lang/ClassCastException.html "class in java.lang")` \- if the class of the specified value prevents it from being stored in the backing map `[NullPointerException](../../java/lang/NullPointerException.html "class in java.lang")` \- if the backing map does not permit null values, and the specified value is null `[IllegalArgumentException](../../java/lang/IllegalArgumentException.html "class in java.lang")` \- if some property of this value prevents it from being stored in the backing map `[IllegalStateException](../../java/lang/IllegalStateException.html "class in java.lang")` \- implementations may, but are not required to, throw this exception if the entry has been removed from the backing map. * #### equals boolean equals([Object](../../java/lang/Object.html "class in java.lang") 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. Overrides: `[equals](../../java/lang/Object.html#equals%28java.lang.Object%29)` in class `[Object](../../java/lang/Object.html "class in java.lang")` 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()](../../java/lang/Object.html#hashCode%28%29), [HashMap](../../java/util/HashMap.html "class in java.util") * #### hashCode 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`. Overrides: `[hashCode](../../java/lang/Object.html#hashCode%28%29)` in class `[Object](../../java/lang/Object.html "class in java.lang")` Returns: the hash code value for this map entry See Also: [Object.hashCode()](../../java/lang/Object.html#hashCode%28%29), [Object.equals(Object)](../../java/lang/Object.html#equals%28java.lang.Object%29), [equals(Object)](../../java/util/Map.Entry.html#equals%28java.lang.Object%29) * #### comparingByKey static <K extends [Comparable](../../java/lang/Comparable.html "interface in java.lang")<? super K>,V> [Comparator](../../java/util/Comparator.html "interface in java.util")<[Map.Entry](../../java/util/Map.Entry.html "interface in java.util")<K,V>> comparingByKey() Returns a comparator that compares [Map.Entry](../../java/util/Map.Entry.html "interface in java.util") in natural order on key. The returned comparator is serializable and throws [NullPointerException](../../java/lang/NullPointerException.html "class in java.lang") when comparing an entry with a null key. Type Parameters: `K` \- the [Comparable](../../java/lang/Comparable.html "interface in java.lang") type of then map keys `V` \- the type of the map values Returns: a comparator that compares [Map.Entry](../../java/util/Map.Entry.html "interface in java.util") in natural order on key. Since: 1.8 See Also: [Comparable](../../java/lang/Comparable.html "interface in java.lang") * #### comparingByValue static <K,V extends [Comparable](../../java/lang/Comparable.html "interface in java.lang")<? super V>> [Comparator](../../java/util/Comparator.html "interface in java.util")<[Map.Entry](../../java/util/Map.Entry.html "interface in java.util")<K,V>> comparingByValue() Returns a comparator that compares [Map.Entry](../../java/util/Map.Entry.html "interface in java.util") in natural order on value. The returned comparator is serializable and throws [NullPointerException](../../java/lang/NullPointerException.html "class in java.lang") when comparing an entry with null values. Type Parameters: `K` \- the type of the map keys `V` \- the [Comparable](../../java/lang/Comparable.html "interface in java.lang") type of the map values Returns: a comparator that compares [Map.Entry](../../java/util/Map.Entry.html "interface in java.util") in natural order on value. Since: 1.8 See Also: [Comparable](../../java/lang/Comparable.html "interface in java.lang") * #### comparingByKey static <K,V> [Comparator](../../java/util/Comparator.html "interface in java.util")<[Map.Entry](../../java/util/Map.Entry.html "interface in java.util")<K,V>> comparingByKey([Comparator](../../java/util/Comparator.html "interface in java.util")<? super K> cmp) Returns a comparator that compares [Map.Entry](../../java/util/Map.Entry.html "interface in java.util") by key using the given[Comparator](../../java/util/Comparator.html "interface in java.util"). 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 key [Comparator](../../java/util/Comparator.html "interface in java.util") Returns: a comparator that compares [Map.Entry](../../java/util/Map.Entry.html "interface in java.util") by the key. Since: 1.8 * #### comparingByValue static <K,V> [Comparator](../../java/util/Comparator.html "interface in java.util")<[Map.Entry](../../java/util/Map.Entry.html "interface in java.util")<K,V>> comparingByValue([Comparator](../../java/util/Comparator.html "interface in java.util")<? super V> cmp) Returns a comparator that compares [Map.Entry](../../java/util/Map.Entry.html "interface in java.util") by value using the given[Comparator](../../java/util/Comparator.html "interface in java.util"). 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 value [Comparator](../../java/util/Comparator.html "interface in java.util") Returns: a comparator that compares [Map.Entry](../../java/util/Map.Entry.html "interface in java.util") by the value. Since: 1.8
Report a bug or suggest an enhancement
For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples.
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2018, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
All rights reserved. Use is subject to license terms and the documentation redistribution policy.