Class EntrySetMapIterator<K,V>

java.lang.Object
org.apache.commons.collections4.iterators.EntrySetMapIterator<K,V>
Type Parameters:
K - the type of keys
V - the type of mapped values
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
  • Field Details

  • Constructor Details

    • EntrySetMapIterator

      public EntrySetMapIterator(Map<K,V> map)
      Constructor.
      Parameters:
      map - the map to iterate over
  • Method Details

    • 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