# Class AbstractHashedMap.HashMapIterator<K,V>

java.lang.Object
org.apache.commons.collections4.map.AbstractHashedMap.HashIterator<K,V>
org.apache.commons.collections4.map.AbstractHashedMap.HashMapIterator<K,V>

Type Parameters:
  `K` - the type of the keys in the map
  `V` - the type of the values in the map

All Implemented Interfaces:
  `Iterator<K>`, `MapIterator<K,V>`

Enclosing class:
  `AbstractHashedMap<K,V>`

protected static class AbstractHashedMap.HashMapIterator<K,V> extends AbstractHashedMap.HashIterator<K,V> implements MapIterator<K,V>
MapIterator implementation.

Since:
  3.0

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `HashMapIterator(AbstractHashedMap<K,V> parent)`
  Constructs a new instance.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `K`
  `getKey()`
  Gets the current key, which is the key returned by the last call to `next()`.
  `V`
  `getValue()`
  Gets the current value, which is the value associated with the last key returned by `next()`.
  `K`
  `next()`
  Gets the next key from the `Map`.
  `V`
  `setValue(V value)`
  Sets the value associated with the current key (optional operation).

  ### Methods inherited from class org.apache.commons.collections4.map.AbstractHashedMap.HashIterator

  `currentEntry, hasNext, nextEntry, remove, toString`

  ### Methods inherited from class java.lang.Object

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

  ### Methods inherited from interface java.util.Iterator

  `forEachRemaining`

  ### Methods inherited from interface org.apache.commons.collections4.MapIterator

  `hasNext, remove`

- ## Constructor Details

  - ### HashMapIterator

    protected HashMapIterator(AbstractHashedMap<K,V> parent)
    Constructs a new instance.
    Parameters:
      `parent` - The parent AbstractHashedMap.

- ## Method Details

  - ### getKey

    public K getKey()
    Description copied from interface: `MapIterator`
    Gets the current key, which is the key returned by the last call to `next()`.
    Specified by:
      `getKey` in interface `MapIterator<K,V>`
    Returns:
      the current key

  - ### getValue

    public V getValue()
    Description copied from interface: `MapIterator`
    Gets the current value, which is the value associated with the last key returned by `next()`.
    Specified by:
      `getValue` in interface `MapIterator<K,V>`
    Returns:
      the current value

  - ### next

    public K next()
    Description copied from interface: `MapIterator`
    Gets the next key from the `Map`.
    Specified by:
      `next` in interface `Iterator<K>`
    Specified by:
      `next` in interface `MapIterator<K,V>`
    Returns:
      the next key in the iteration

  - ### setValue

    public V setValue(V value)
    Description copied from interface: `MapIterator`
    Sets the value associated with the current key (optional operation).
    Specified by:
      `setValue` in interface `MapIterator<K,V>`
    Parameters:
      `value` - the new value
    Returns:
      the previous value