- All Known Implementing Classes:
AbstractMap.SimpleEntry
,AbstractMap.SimpleImmutableEntry
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
Modifier and TypeMethodDescriptionstatic <K extends Comparable<? super K>, V>
Comparator<Map.Entry<K,V>>Returns a comparator that comparesMap.Entry
in natural order on key.static <K, V> Comparator<Map.Entry<K,V>>
comparingByKey(Comparator<? super K> cmp)
Returns a comparator that comparesMap.Entry
by key using the givenComparator
.static <K, V extends Comparable<? super V>>
Comparator<Map.Entry<K,V>>Returns a comparator that comparesMap.Entry
in natural order on value.static <K, V> Comparator<Map.Entry<K,V>>
comparingByValue(Comparator<? super V> cmp)
Returns a comparator that comparesMap.Entry
by value using the givenComparator
.boolean
Compares the specified object with this entry for equality.getKey()
Returns the key corresponding to this entry.getValue()
Returns the value corresponding to this entry.int
hashCode()
Returns the hash code value for this map entry.Replaces the value corresponding to this entry with the specified value (optional operation).
-
Method Details
-
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
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 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.
-
equals
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 classObject
- 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 classObject
- Returns:
- the hash code value for this map entry
- See Also:
Object.hashCode()
,Object.equals(Object)
,equals(Object)
-
comparingByKey
Returns a comparator that comparesMap.Entry
in natural order on key.The returned comparator is serializable and throws
NullPointerException
when comparing an entry with a null key.- Type Parameters:
K
- theComparable
type of then map keysV
- the type of the map values- Returns:
- a comparator that compares
Map.Entry
in natural order on key. - Since:
- 1.8
- See Also:
Comparable
-
comparingByValue
Returns a comparator that comparesMap.Entry
in natural order on value.The returned comparator is serializable and throws
NullPointerException
when comparing an entry with null values.- Type Parameters:
K
- the type of the map keysV
- theComparable
type of the map values- Returns:
- a comparator that compares
Map.Entry
in natural order on value. - Since:
- 1.8
- See Also:
Comparable
-
comparingByKey
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 keysV
- the type of the map values- Parameters:
cmp
- the keyComparator
- Returns:
- a comparator that compares
Map.Entry
by the key. - Since:
- 1.8
-
comparingByValue
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 keysV
- the type of the map values- Parameters:
cmp
- the valueComparator
- Returns:
- a comparator that compares
Map.Entry
by the value. - Since:
- 1.8
-