org.apache.commons.collections4.iterators

## Class EntrySetMapIterator<K,V>

- java.lang.Object
- - org.apache.commons.collections4.iterators.EntrySetMapIterator<K,V>

- All Implemented Interfaces:
    Iterator<K>, MapIterator<K,V>, ResettableIterator<K>

      public class EntrySetMapIterator<K,V>
      extends Object
      implements MapIterator<K,V>, ResettableIterator<K>

  Implements a `MapIterator` using a Map entrySet. Reverse iteration is not supported.

       MapIterator it = map.mapIterator();
       while (it.hasNext()) {
         Object key = it.next();
         Object value = it.getValue();
         it.setValue(newValue);
       }

  Since:
    3.0

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `EntrySetMapIterator(Map<K,V> map)` Constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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()`.
    `boolean` | `hasNext()` Checks to see if there are more entries still to be iterated.
    `K` | `next()` Gets the next key from the `Map`.
    `void` | `remove()` Removes the last returned key from the underlying `Map`.
    `void` | `reset()` Resets the state of the iterator.
    `V` | `setValue(V value)` Sets the value associated with the current key.
    `String` | `toString()` Gets the iterator as a String.

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

- - ### Constructor Detail

    - #### EntrySetMapIterator

          public EntrySetMapIterator(Map<K,V> map)

      Constructor.
      Parameters:
        `map` - the map to iterate over

  - ### Method Detail

    - #### hasNext

          public boolean hasNext()

      Checks to see if there are more entries still to be iterated.
      Specified by:
        `hasNext` in interface `Iterator<K>`
      Specified by:
        `hasNext` in interface `MapIterator<K,V>`
      Returns:
        `true` if the iterator has more elements

    - #### next

          public K next()

      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
      Throws:
        `NoSuchElementException` - if the iteration is finished

    - #### remove

          public void remove()

      Removes the last returned key from the underlying `Map`.

      This method can be called once per call to `next()`.

      Specified by:
        `remove` in interface `Iterator<K>`
      Specified by:
        `remove` in interface `MapIterator<K,V>`
      Throws:
        `UnsupportedOperationException` - if remove is not supported by the map
        `IllegalStateException` - if `next()` has not yet been called
        `IllegalStateException` - if `remove()` has already been called since the last call to `next()`

    - #### getKey

          public K getKey()

      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
      Throws:
        `IllegalStateException` - if `next()` has not yet been called

    - #### getValue

          public V getValue()

      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
      Throws:
        `IllegalStateException` - if `next()` has not yet been called

    - #### setValue

          public V setValue(V value)

      Sets the value associated with the current key.
      Specified by:
        `setValue` in interface `MapIterator<K,V>`
      Parameters:
        `value` - the new value
      Returns:
        the previous value
      Throws:
        `UnsupportedOperationException` - if setValue is not supported by the map
        `IllegalStateException` - if `next()` has not yet been called
        `IllegalStateException` - if `remove()` has been called since the last call to `next()`

    - #### reset

          public void reset()

      Resets the state of the iterator.
      Specified by:
        `reset` in interface `ResettableIterator<K>`

    - #### toString

          public String toString()

      Gets the iterator as a String.
      Overrides:
        `toString` in class `Object`
      Returns:
        a string version of the iterator

Copyright © 2001–2018 The Apache Software Foundation. All rights reserved.