org.apache.commons.collections4.iterators

## Class UnmodifiableMapIterator<K,V>

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

- Type Parameters:
    `K` - the type of keys
    `V` - the type of mapped values
  All Implemented Interfaces:
    Iterator<K>, MapIterator<K,V>, Unmodifiable

      public final class UnmodifiableMapIterator<K,V>
      extends Object
      implements MapIterator<K,V>, Unmodifiable

  Decorates a map iterator such that it cannot be modified.

  Attempts to modify it will result in an UnsupportedOperationException.

  Since:
    3.0

- - ### Method Summary

    All Methods Static 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` (optional operation).
    `V` | `setValue(V value)` Sets the value associated with the current key (optional operation).
    `static <K,V> MapIterator<K,V>` | `unmodifiableMapIterator(MapIterator<? extends K,? extends V> iterator)` Decorates the specified iterator such that it cannot be modified.

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

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

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

      `forEachRemaining`

- - ### Method Detail

    - #### unmodifiableMapIterator

          public static <K,V> MapIterator<K,V> unmodifiableMapIterator(MapIterator<? extends K,? extends V> iterator)

      Decorates the specified iterator such that it cannot be modified.
      Type Parameters:
        `K` - the key type
        `V` - the value type
      Parameters:
        `iterator` - the iterator to decorate
      Returns:
        a new unmodifiable map iterator
      Throws:
        `NullPointerException` - if the iterator is null

    - #### hasNext

          public boolean hasNext()

      Description copied from interface: `MapIterator`
      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()

      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

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

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

    - #### remove

          public void remove()

      Description copied from interface: `MapIterator`
      Removes the last returned key from the underlying `Map` (optional operation).

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

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