Interface MapIterator
- All Superinterfaces:
Iterator
- All Known Implementing Classes:
AbstractHashedMap.HashMapIterator
,EmptyMapIterator
Defines an iterator that operates over a
Map
.
This iterator is a special version designed for maps. It can be more efficient to use this rather than an entry set iterator where the option is available, and it is certainly more convenient.
A map that provides this interface may not hold the data internally using Map Entry objects, thus this interface can avoid lots of object creation.
In use, this iterator iterates through the keys in the map. After each call
to next()
, the getValue()
method provides direct
access to the value. The value can also be set using setValue()
.
MapIterator it = map.mapIterator(); while (it.hasNext()) { Object key = it.next(); Object value = it.getValue(); it.setValue(newValue); }
- Since:
- Commons Collections 3.0
- Version:
- $Revision$ $Date$
- Author:
- Stephen Colebourne
-
Method Summary
Modifier and TypeMethodDescriptiongetKey()
Gets the current key, which is the key returned by the last call tonext()
.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.next()
Gets the next key from theMap
.void
remove()
Removes the last returned key from the underlyingMap
(optional operation).Sets the value associated with the current key (optional operation).Methods inherited from interface java.util.Iterator
forEachRemaining
-
Method Details
-
hasNext
boolean hasNext()Checks to see if there are more entries still to be iterated. -
next
Object next()Gets the next key from theMap
.- Specified by:
next
in interfaceIterator
- Returns:
- the next key in the iteration
- Throws:
NoSuchElementException
- if the iteration is finished
-
getKey
Object getKey()Gets the current key, which is the key returned by the last call tonext()
.- Returns:
- the current key
- Throws:
IllegalStateException
- ifnext()
has not yet been called
-
getValue
Object getValue()Gets the current value, which is the value associated with the last key returned bynext()
.- Returns:
- the current value
- Throws:
IllegalStateException
- ifnext()
has not yet been called
-
remove
void remove()Removes the last returned key from the underlyingMap
(optional operation).This method can be called once per call to
next()
.- Specified by:
remove
in interfaceIterator
- Throws:
UnsupportedOperationException
- if remove is not supported by the mapIllegalStateException
- ifnext()
has not yet been called or ifremove()
has already been called since the last call tonext()
-
setValue
Sets the value associated with the current key (optional operation).- Parameters:
value
- the new value- Returns:
- the previous value
- Throws:
UnsupportedOperationException
- if setValue is not supported by the mapIllegalStateException
- ifnext()
has not yet been called or ifremove()
has been called since the last call tonext()
-