AbstractMap.SimpleEntry (Java Platform SE 8 ) (original) (raw)
- java.util.AbstractMap.SimpleEntry<K,V>
All Implemented Interfaces:
Serializable, Map.Entry<K,V>
Enclosing class:
AbstractMap<K,V>
public static class AbstractMap.SimpleEntry<K,V>
extends Object
implements Map.Entry<K,V>, Serializable
An Entry maintaining a key and a value. The value may be changed using the
setValue
method. This class facilitates the process of building custom map implementations. For example, it may be convenient to return arrays of
SimpleEntry
instances in method
Map.entrySet().toArray
.
Since:
1.6
See Also:
Serialized Form
Constructor Summary
Constructors
Constructor Description SimpleEntry(K key,V value) Creates an entry representing a mapping from the specified key to the specified value. SimpleEntry(Map.Entry<? extends K,? extends V> entry) Creates an entry representing the same mapping as the specified entry. Method Summary
All Methods Instance Methods Concrete Methods
Modifier and Type Method Description 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. String toString() Returns a String representation of this map entry. * ### Methods inherited from class java.lang.[Object](../../java/lang/Object.html "class in java.lang") `[clone](../../java/lang/Object.html#clone--), [finalize](../../java/lang/Object.html#finalize--), [getClass](../../java/lang/Object.html#getClass--), [notify](../../java/lang/Object.html#notify--), [notifyAll](../../java/lang/Object.html#notifyAll--), [wait](../../java/lang/Object.html#wait--), [wait](../../java/lang/Object.html#wait-long-), [wait](../../java/lang/Object.html#wait-long-int-)` * ### Methods inherited from interface java.util.[Map.Entry](../../java/util/Map.Entry.html "interface in java.util") `[comparingByKey](../../java/util/Map.Entry.html#comparingByKey--), [comparingByKey](../../java/util/Map.Entry.html#comparingByKey-java.util.Comparator-), [comparingByValue](../../java/util/Map.Entry.html#comparingByValue--), [comparingByValue](../../java/util/Map.Entry.html#comparingByValue-java.util.Comparator-)`
Constructor Detail
* #### SimpleEntry public SimpleEntry([K](../../java/util/AbstractMap.SimpleEntry.html "type parameter in AbstractMap.SimpleEntry") key, [V](../../java/util/AbstractMap.SimpleEntry.html "type parameter in AbstractMap.SimpleEntry") value) Creates an entry representing a mapping from the specified key to the specified value. Parameters: `key` \- the key represented by this entry `value` \- the value represented by this entry * #### SimpleEntry public SimpleEntry([Map.Entry](../../java/util/Map.Entry.html "interface in java.util")<? extends [K](../../java/util/AbstractMap.SimpleEntry.html "type parameter in AbstractMap.SimpleEntry"),? extends [V](../../java/util/AbstractMap.SimpleEntry.html "type parameter in AbstractMap.SimpleEntry")> entry) Creates an entry representing the same mapping as the specified entry. Parameters: `entry` \- the entry to copy
Method Detail
* #### getKey public [K](../../java/util/AbstractMap.SimpleEntry.html "type parameter in AbstractMap.SimpleEntry") getKey() Returns the key corresponding to this entry. Specified by: `[getKey](../../java/util/Map.Entry.html#getKey--)` in interface `[Map.Entry](../../java/util/Map.Entry.html "interface in java.util")<[K](../../java/util/AbstractMap.SimpleEntry.html "type parameter in AbstractMap.SimpleEntry"),[V](../../java/util/AbstractMap.SimpleEntry.html "type parameter in AbstractMap.SimpleEntry")>` Returns: the key corresponding to this entry * #### getValue public [V](../../java/util/AbstractMap.SimpleEntry.html "type parameter in AbstractMap.SimpleEntry") getValue() Returns the value corresponding to this entry. Specified by: `[getValue](../../java/util/Map.Entry.html#getValue--)` in interface `[Map.Entry](../../java/util/Map.Entry.html "interface in java.util")<[K](../../java/util/AbstractMap.SimpleEntry.html "type parameter in AbstractMap.SimpleEntry"),[V](../../java/util/AbstractMap.SimpleEntry.html "type parameter in AbstractMap.SimpleEntry")>` Returns: the value corresponding to this entry * #### setValue public [V](../../java/util/AbstractMap.SimpleEntry.html "type parameter in AbstractMap.SimpleEntry") setValue([V](../../java/util/AbstractMap.SimpleEntry.html "type parameter in AbstractMap.SimpleEntry") value) Replaces the value corresponding to this entry with the specified value. Specified by: `[setValue](../../java/util/Map.Entry.html#setValue-V-)` in interface `[Map.Entry](../../java/util/Map.Entry.html "interface in java.util")<[K](../../java/util/AbstractMap.SimpleEntry.html "type parameter in AbstractMap.SimpleEntry"),[V](../../java/util/AbstractMap.SimpleEntry.html "type parameter in AbstractMap.SimpleEntry")>` Parameters: `value` \- new value to be stored in this entry Returns: the old value corresponding to the entry * #### equals public 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. Specified by: `[equals](../../java/util/Map.Entry.html#equals-java.lang.Object-)` in interface `[Map.Entry](../../java/util/Map.Entry.html "interface in java.util")<[K](../../java/util/AbstractMap.SimpleEntry.html "type parameter in AbstractMap.SimpleEntry"),[V](../../java/util/AbstractMap.SimpleEntry.html "type parameter in AbstractMap.SimpleEntry")>` Overrides: `[equals](../../java/lang/Object.html#equals-java.lang.Object-)` 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: [hashCode()](../../java/util/AbstractMap.SimpleEntry.html#hashCode--) * #### hashCode public 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()](../../java/lang/Object.html#hashCode--). Specified by: `[hashCode](../../java/util/Map.Entry.html#hashCode--)` in interface `[Map.Entry](../../java/util/Map.Entry.html "interface in java.util")<[K](../../java/util/AbstractMap.SimpleEntry.html "type parameter in AbstractMap.SimpleEntry"),[V](../../java/util/AbstractMap.SimpleEntry.html "type parameter in AbstractMap.SimpleEntry")>` Overrides: `[hashCode](../../java/lang/Object.html#hashCode--)` in class `[Object](../../java/lang/Object.html "class in java.lang")` Returns: the hash code value for this map entry See Also: [equals(java.lang.Object)](../../java/util/AbstractMap.SimpleEntry.html#equals-java.lang.Object-) * #### toString public [String](../../java/lang/String.html "class in java.lang") 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. Overrides: `[toString](../../java/lang/Object.html#toString--)` in class `[Object](../../java/lang/Object.html "class in java.lang")` Returns: a String representation of this map entry
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.