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
Version:
$Id: EntrySetMapIterator.java 1477802 2013-04-30 20:01:28Z tn $
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    Gets the current key, which is the key returned by the last call to next().
    Gets the current value, which is the value associated with the last key returned by next().
    boolean
    Checks to see if there are more entries still to be iterated.
    Gets the next key from the Map.
    void
    Removes the last returned key from the underlying Map.
    void
    Resets the state of the iterator.
    setValue(V value)
    Sets the value associated with the current key.
    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 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