Package org.apache.commons.collections4
Interface MapIterator<K,V>
- Type Parameters:
K
- the type of the keys in the mapV
- the type of the values in the map
- All Superinterfaces:
Iterator<K>
- All Known Subinterfaces:
OrderedMapIterator<K,
V>
- All Known Implementing Classes:
AbstractDualBidiMap.BidiMapIterator
,AbstractHashedMap.HashMapIterator
,AbstractLinkedMap.LinkMapIterator
,AbstractMapIteratorDecorator
,AbstractOrderedMapIteratorDecorator
,AbstractSortedMapDecorator.SortedMapIterator
,DualTreeBidiMap.BidiOrderedMapIterator
,EmptyMapIterator
,EmptyOrderedMapIterator
,EntrySetMapIterator
,EntrySetToMapIteratorAdapter
,UnmodifiableMapIterator
,UnmodifiableOrderedMapIterator
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<String,Integer> it = map.mapIterator();
while (it.hasNext()) {
String key = it.next();
Integer value = it.getValue();
it.setValue(value + 1);
}
- Since:
- 3.0
-
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
-
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
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
-
hasNext
boolean hasNext()Checks to see if there are more entries still to be iterated. -
next
Gets the next key from theMap
.- Specified by:
next
in interfaceIterator<K>
- Returns:
- the next key in the iteration
- Throws:
NoSuchElementException
- if the iteration is finished
-
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<K>
- Throws:
UnsupportedOperationException
- if remove is not supported by the mapIllegalStateException
- ifnext()
has not yet been calledIllegalStateException
- 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 calledIllegalStateException
- ifremove()
has been called since the last call tonext()
-