K - the type of the keyV - the type of the valueAbstractMap.SimpleEntry, AbstractMap.SimpleImmutableEntrypublic static interface Map.Entry<K,V>
setValue method is implemented. The Entry may be independent of any map, or it may represent an entry of the entry-set view of a map. An Entry maintains a connection to its underlying map if the Entry was obtained by iterating the Map.entrySet() view of a map, either explicitly by using an Iterator or implicitly via the enhanced for statement. This connection to the backing map is valid only during iteration of the entry-set view. During the iteration, if supported by the backing map, a change to an Entry's value via the setValue method will be visible in the backing map. The behavior of such an Entry is undefined outside of iteration of the map's entry-set view. It is also undefined if the backing map has been modified after the Entry was returned by the iterator, except through the setValue method. In addition, a change to the value of a mapping in the backing map might or might not be visible in the corresponding Entry of the entry-set view.
An Entry may also be obtained from a map's entry-set view by other means, for example, using the parallelStream, stream, spliterator methods, any of the toArray overloads, or by copying the entry-set view into another collection. It is unspecified whether the obtained Entry instances are connected to the underlying map, whether changes to such an Entry will affect the underlying the map and vice-versa, and whether such an Entry supports the optional setValue method.
In addition, an Entry may be obtained directly from a map, for example via calls to methods directly on the NavigableMap interface. An entry thus obtained is generally not connected to the map and is an unmodifiable snapshot of the mapping as of the time of the call. Such an Entry also does not generally support the setValue method.
An Entry obtained by direct construction of the AbstractMap.SimpleEntry or AbstractMap.SimpleImmutableEntry classes or from a call to the Map.entry or Map.Entry.copyOf methods is not connected to any map.
copyOf method. For example, the following creates a snapshot of a map's entries that is guaranteed not to change even if the original map is modified: var entries = map.entrySet().stream().map(Map.Entry::copyOf).toList()
| Modifier and Type | Method | Description |
|---|---|---|
static <K extends Comparable<? super K>, V> |
comparingByKey() |
Returns a comparator that compares Map.Entry in natural order on key. |
static <K, |
comparingByKey |
Returns a comparator that compares Map.Entry by key using the given Comparator. |
static <K, V extends Comparable<? super V>> |
comparingByValue() |
Returns a comparator that compares Map.Entry in natural order on value. |
static <K, |
comparingByValue |
Returns a comparator that compares Map.Entry by value using the given Comparator. |
static <K, |
copyOf |
Returns a copy of the given Map.Entry. |
boolean |
equals |
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 |
Replaces the value corresponding to this entry with the specified value (optional operation). |
K getKey()
IllegalStateException - implementations may, but are not required to, throw this exception if the entry has been removed from the backing map.V getValue()
remove operation), the results of this call are undefined.IllegalStateException - implementations may, but are not required to, throw this exception if the entry has been removed from the backing map.V setValue(V value)
remove operation).value - new value to be stored in this entryUnsupportedOperationException - if the put operation is not supported by the backing mapClassCastException - if the class of the specified value prevents it from being stored in the backing mapNullPointerException - if the backing map does not permit null values, and the specified value is nullIllegalArgumentException - if some property of this value prevents it from being stored in the backing mapIllegalStateException - implementations may, but are not required to, throw this exception if the entry has been removed from the backing map.boolean equals(Object o)
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.int hashCode()
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.static <K extends Comparable<? super K>, V> Comparator<Map.Entry<K,V>> comparingByKey()
Map.Entry in natural order on key. The returned comparator is serializable and throws NullPointerException when comparing an entry with a null key.
K - the Comparable type of then map keysV - the type of the map valuesMap.Entry in natural order on key.static <K, V extends Comparable<? super V>> Comparator<Map.Entry<K,V>> comparingByValue()
Map.Entry in natural order on value. The returned comparator is serializable and throws NullPointerException when comparing an entry with null values.
K - the type of the map keysV - the Comparable type of the map valuesMap.Entry in natural order on value.static <K,V> Comparator<Map.Entry<K,V>> comparingByKey(Comparator<? super K> cmp)
Map.Entry by key using the given Comparator. The returned comparator is serializable if the specified comparator is also serializable.
K - the type of the map keysV - the type of the map valuescmp - the key Comparator
Map.Entry by the key.static <K,V> Comparator<Map.Entry<K,V>> comparingByValue(Comparator<? super V> cmp)
Map.Entry by value using the given Comparator. The returned comparator is serializable if the specified comparator is also serializable.
K - the type of the map keysV - the type of the map valuescmp - the value Comparator
Map.Entry by the value.static <K,V> Map.Entry<K,V> copyOf(Map.Entry<? extends K, ? extends V> e)
Map.Entry. The returned instance is not associated with any map. The returned instance has the same characteristics as instances returned by the Map::entry method.copyOf method may be used to create a Map.Entry instance, containing the same key and value, that is independent of any map.copyOf or Map::entry, calling copyOf will generally not create another copy.K - the type of the keyV - the type of the valuee - the entry to be copiedNullPointerException - if e is null or if either of its key or value is null
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.Entry.html