java.util

## Class AbstractMap.SimpleEntry<K,V>

- java.lang.Object
- - 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 and Description
`AbstractMap.SimpleEntry(K key, V value)` Creates an entry representing a mapping from the specified key to the specified value.
`AbstractMap.SimpleEntry(Map.Entry<? extends K,? extends V> entry)` Creates an entry representing the same mapping as the specified entry.

### Method Summary

Methods
`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

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### AbstractMap.SimpleEntry

    public AbstractMap.SimpleEntry(K key,
                           V 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

#### AbstractMap.SimpleEntry

    public AbstractMap.SimpleEntry(Map.Entry<? extends K,? extends V> entry)

Creates an entry representing the same mapping as the specified entry.

Parameters:
  `entry` - the entry to copy

### Method Detail

#### getKey

    public K getKey()

Returns the key corresponding to this entry.

Specified by:
  `getKey` in interface `Map.Entry<K,V>`
Returns:
  the key corresponding to this entry

#### getValue

    public V getValue()

Returns the value corresponding to this entry.

Specified by:
  `getValue` in interface `Map.Entry<K,V>`
Returns:
  the value corresponding to this entry

#### setValue

    public V setValue(V value)

Replaces the value corresponding to this entry with the specified value.

Specified by:
  `setValue` in interface `Map.Entry<K,V>`
Parameters:
  `value` - new value to be stored in this entry
Returns:
  the old value corresponding to the entry

#### equals

    public 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()))

This ensures that the `equals` method works properly across different implementations of the `Map.Entry` interface.

Specified by:
  `equals` in interface `Map.Entry<K,V>`
Overrides:
  `equals` in class `Object`
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()`

#### 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()`.

Specified by:
  `hashCode` in interface `Map.Entry<K,V>`
Overrides:
  `hashCode` in class `Object`
Returns:
  the hash code value for this map entry
See Also:
  `equals(java.lang.Object)`

#### toString

    public String 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` in class `Object`
Returns:
  a String representation of this map entry

Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.