java.lang.Object
java.util.AbstractMap.SimpleImmutableEntry<K,V>
- All Implemented Interfaces:
Serializable
,Map.Entry<K,
V>
- Enclosing class:
AbstractMap<K,
V>
public static class AbstractMap.SimpleImmutableEntry<K,V>
extends Object
implements Map.Entry<K,V>, Serializable
An unmodifiable Entry maintaining a key and a value. This class
does not support the
setValue
method. Instances of
this class are not associated with any map's entry-set view.- API Note:
- Instances of this class are not necessarily immutable, as the key
and value may be mutable. An instance of this specific class
is unmodifiable, because the key and value references cannot be
changed. A reference of this type may not be unmodifiable,
as a subclass may be modifiable or may provide the appearance of modifiability.
This class may be convenient in methods that return thread-safe snapshots of key-value mappings. For alternatives, see the
Map::entry
andMap.Entry::copyOf
methods. - Since:
- 1.6
- See Also:
-
Constructor Summary
ConstructorDescriptionSimpleImmutableEntry
(Map.Entry<? extends K, ? extends V> entry) Creates an entry representing the same mapping as the specified entry.SimpleImmutableEntry
(K key, V value) Creates an entry representing a mapping from the specified key to the specified value. -
Method Summary
Modifier and TypeMethodDescriptionboolean
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).toString()
Returns a String representation of this map entry.
-
Constructor Details
-
SimpleImmutableEntry
Creates an entry representing a mapping from the specified key to the specified value.- Parameters:
key
- the key represented by this entryvalue
- the value represented by this entry
-
SimpleImmutableEntry
Creates an entry representing the same mapping as the specified entry.- Parameters:
entry
- the entry to copy
-
-
Method Details
-
getKey
Returns the key corresponding to this entry. -
getValue
Returns the value corresponding to this entry. -
setValue
Replaces the value corresponding to this entry with the specified value (optional operation). This implementation simply throwsUnsupportedOperationException
, as this class implements an unmodifiable map entry.- Specified by:
setValue
in interfaceMap.Entry<K,
V> - Implementation Requirements:
- The implementation in this class always throws
UnsupportedOperationException
. - Parameters:
value
- new value to be stored in this entry- Returns:
- (Does not return)
- Throws:
UnsupportedOperationException
- always
-
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. -
hashCode
public 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()
. -
toString
Returns a String representation of this map entry. This implementation returns the string representation of this entry's key followed by the equals character ("=
") followed by the string representation of this entry's value.
-