Class EntrySetMapIterator<K,V>
- java.lang.Object
-
- org.apache.commons.collections4.iterators.EntrySetMapIterator<K,V>
-
- Type Parameters:
K
- the type of keysV
- the type of mapped values
- All Implemented Interfaces:
java.util.Iterator<K>
,MapIterator<K,V>
,ResettableIterator<K>
public class EntrySetMapIterator<K,V> extends java.lang.Object implements MapIterator<K,V>, ResettableIterator<K>
Implements aMapIterator
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
-
-
Constructor Summary
Constructors Constructor Description EntrySetMapIterator(java.util.Map<K,V> map)
Constructor.
-
Method Summary
All 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 tonext()
.V
getValue()
Gets the current value, which is the value associated with the last key returned bynext()
.boolean
hasNext()
Checks to see if there are more entries still to be iterated.K
next()
Gets the next key from theMap
.void
remove()
Removes the last returned key from the underlyingMap
.void
reset()
Resets the state of the iterator.V
setValue(V value)
Sets the value associated with the current key.java.lang.String
toString()
Gets the iterator as a String.
-
-
-
Method Detail
-
hasNext
public boolean hasNext()
Checks to see if there are more entries still to be iterated.- Specified by:
hasNext
in interfacejava.util.Iterator<K>
- Specified by:
hasNext
in interfaceMapIterator<K,V>
- Returns:
true
if the iterator has more elements
-
next
public K next()
Gets the next key from theMap
.- Specified by:
next
in interfacejava.util.Iterator<K>
- Specified by:
next
in interfaceMapIterator<K,V>
- Returns:
- the next key in the iteration
- Throws:
java.util.NoSuchElementException
- if the iteration is finished
-
remove
public void remove()
Removes the last returned key from the underlyingMap
.This method can be called once per call to
next()
.- Specified by:
remove
in interfacejava.util.Iterator<K>
- Specified by:
remove
in interfaceMapIterator<K,V>
- Throws:
java.lang.UnsupportedOperationException
- if remove is not supported by the mapjava.lang.IllegalStateException
- ifnext()
has not yet been calledjava.lang.IllegalStateException
- ifremove()
has already been called since the last call tonext()
-
getKey
public K getKey()
Gets the current key, which is the key returned by the last call tonext()
.- Specified by:
getKey
in interfaceMapIterator<K,V>
- Returns:
- the current key
- Throws:
java.lang.IllegalStateException
- ifnext()
has not yet been called
-
getValue
public V getValue()
Gets the current value, which is the value associated with the last key returned bynext()
.- Specified by:
getValue
in interfaceMapIterator<K,V>
- Returns:
- the current value
- Throws:
java.lang.IllegalStateException
- ifnext()
has not yet been called
-
setValue
public V setValue(V value)
Sets the value associated with the current key.- Specified by:
setValue
in interfaceMapIterator<K,V>
- Parameters:
value
- the new value- Returns:
- the previous value
- Throws:
java.lang.UnsupportedOperationException
- if setValue is not supported by the mapjava.lang.IllegalStateException
- ifnext()
has not yet been calledjava.lang.IllegalStateException
- ifremove()
has been called since the last call tonext()
-
reset
public void reset()
Resets the state of the iterator.- Specified by:
reset
in interfaceResettableIterator<K>
-
toString
public java.lang.String toString()
Gets the iterator as a String.- Overrides:
toString
in classjava.lang.Object
- Returns:
- a string version of the iterator
-
-