Class UnmodifiableMapIterator<K,​V>

  • Type Parameters:
    K - the type of keys
    V - the type of mapped values
    All Implemented Interfaces:
    java.util.Iterator<K>, MapIterator<K,​V>, Unmodifiable

    public final class UnmodifiableMapIterator<K,​V>
    extends java.lang.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 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

        equals, 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:
        java.lang.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 java.util.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 java.util.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 java.util.Iterator<K>
        Specified by:
        remove in interface MapIterator<K,​V>