Package 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

  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()`.
  `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()`
  Always throws `UnsupportedOperationException`.
  `V`
  `setValue(V value)`
  Always throws `UnsupportedOperationException`.
  `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 Details

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

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

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

  - ### remove

    public void remove()
    Always throws `UnsupportedOperationException`.
    Specified by:
      `remove` in interface `Iterator<K>`
    Specified by:
      `remove` in interface `MapIterator<K,V>`
    Throws:
      `UnsupportedOperationException` - Always thrown.

  - ### setValue

    public V setValue(V value)
    Always throws `UnsupportedOperationException`.
    Specified by:
      `setValue` in interface `MapIterator<K,V>`
    Parameters:
      `value` - Ignored.
    Returns:
      The previous value.
    Throws:
      `UnsupportedOperationException` - Always thrown.