Map.Entry
public
static
interface
Map.Entry
java.util.Map.Entry<K, V> |
A map entry (key-value pair). The Entry may be unmodifiable, or the
value may be modifiable if the optional 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.
Instances of the Map.Entry
interface may be obtained by iterating
the entry-set view of a map. These instances maintain a connection to the
original, backing map. This connection to the backing map is valid
only for the duration of iteration over the entry-set view.
During iteration of the entry-set view, if supported by the backing map,
a change to a Map.Entry
's value via the
setValue
method will be visible in the backing map.
The behavior of such a Map.Entry
instance 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 Map.Entry
was returned by the
iterator, except through the Map.Entry.setValue
method. In particular,
a change to the value of a mapping in the backing map might or might not be
visible in the corresponding Map.Entry
element of the entry-set view.
See also:
Summary
Public methods | |
---|---|
static
<K, V>
Comparator<Entry<K, V>>
|
comparingByKey(Comparator<? super K> cmp)
Returns a comparator that compares |
static
<K extends Comparable<? super K>, V>
Comparator<Entry<K, V>>
|
comparingByKey()
Returns a comparator that compares |
static
<K, V>
Comparator<Entry<K, V>>
|
comparingByValue(Comparator<? super V> cmp)
Returns a comparator that compares |
static
<K, V extends Comparable<? super V>>
Comparator<Entry<K, V>>
|
comparingByValue()
Returns a comparator that compares |
static
<K, V>
Entry<K, V>
|
copyOf(Entry<? extends K, ? extends V> e)
Returns a copy of the given |
abstract
boolean
|
equals(Object o)
Compares the specified object with this entry for equality. |
abstract
K
|
getKey()
Returns the key corresponding to this entry. |
abstract
V
|
getValue()
Returns the value corresponding to this entry. |
abstract
int
|
hashCode()
Returns the hash code value for this map entry. |
abstract
V
|
setValue(V value)
Replaces the value corresponding to this entry with the specified value (optional operation). |
Public methods
comparingByKey
public static Comparator<Entry<K, V>> comparingByKey (Comparator<? super K> cmp)
Returns a comparator that compares Map.Entry
by key using the given
Comparator
.
The returned comparator is serializable if the specified comparator is also serializable.
Parameters | |
---|---|
cmp |
Comparator : the key Comparator |
Returns | |
---|---|
Comparator<Entry<K, V>> |
a comparator that compares Map.Entry by the key. |
comparingByKey
public static Comparator<Entry<K, V>> comparingByKey ()
Returns a comparator that compares Map.Entry
in natural order on key.
The returned comparator is serializable and throws NullPointerException
when comparing an entry with a null key.
Returns | |
---|---|
Comparator<Entry<K, V>> |
a comparator that compares Map.Entry in natural order on key. |
See also:
comparingByValue
public static Comparator<Entry<K, V>> comparingByValue (Comparator<? super V> cmp)
Returns a comparator that compares Map.Entry
by value using the given
Comparator
.
The returned comparator is serializable if the specified comparator is also serializable.
Parameters | |
---|---|
cmp |
Comparator : the value Comparator |
Returns | |
---|---|
Comparator<Entry<K, V>> |
a comparator that compares Map.Entry by the value. |
comparingByValue
public static Comparator<Entry<K, V>> comparingByValue ()
Returns a comparator that compares Map.Entry
in natural order on value.
The returned comparator is serializable and throws NullPointerException
when comparing an entry with null values.
Returns | |
---|---|
Comparator<Entry<K, V>> |
a comparator that compares Map.Entry in natural order on value. |
See also:
copyOf
public static Entry<K, V> copyOf (Entry<? extends K, ? extends V> e)
Returns a copy of the given 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.
API Note:
- An instance obtained from a map's entry-set view has a connection to that map.
The
copyOf
method may be used to create aMap.Entry
instance, containing the same key and value, that is independent of any map.
Implementation Note:
- If the given entry was obtained from a call to
copyOf
orMap::entry
, callingcopyOf
will generally not create another copy.
Parameters | |
---|---|
e |
Entry : the entry to be copied |
Returns | |
---|---|
Entry<K, V> |
a map entry equal to the given entry |
Throws | |
---|---|
NullPointerException |
if e is null or if either of its key or value is null |
equals
public abstract 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()))
equals
method works properly across
different implementations of the Map.Entry
interface.
Parameters | |
---|---|
o |
Object : object to be compared for equality with this map entry |
Returns | |
---|---|
boolean |
true if the specified object is equal to this map
entry |
getKey
public abstract K getKey ()
Returns the key corresponding to this entry.
Returns | |
---|---|
K |
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
public abstract V 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 | |
---|---|
V |
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. |
hashCode
public abstract 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())
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
.
Returns | |
---|---|
int |
the hash code value for this map entry |
setValue
public abstract 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's remove
operation).
Parameters | |
---|---|
value |
V : new value to be stored in this entry |
Returns | |
---|---|
V |
old value corresponding to the entry |
Throws | |
---|---|
UnsupportedOperationException |
if the put 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. |