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:
java.util.Iterator<K>
- All Known Subinterfaces:
OrderedMapIterator<K,V>
- All Known Implementing Classes:
AbstractDualBidiMap.BidiMapIterator
,AbstractHashedMap.HashMapIterator
,AbstractLinkedMap.LinkMapIterator
,AbstractSortedMapDecorator.SortedMapIterator
,DualTreeBidiMap.BidiOrderedMapIterator
,EmptyMapIterator
,EmptyOrderedMapIterator
,EntrySetToMapIteratorAdapter
,UnmodifiableOrderedMapIterator
public interface MapIterator<K,V> extends java.util.Iterator<K>
Defines an iterator that operates over aMap
.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()
, thegetValue()
method provides direct access to the value. The value can also be set usingsetValue()
.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
All Methods Instance Methods Abstract 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
(optional operation).V
setValue(V value)
Sets the value associated with the current key (optional operation).
-
-
-
Method Detail
-
hasNext
boolean hasNext()
Checks to see if there are more entries still to be iterated.- Specified by:
hasNext
in interfacejava.util.Iterator<K>
- Returns:
true
if the iterator has more elements
-
next
K next()
Gets the next key from theMap
.- Specified by:
next
in interfacejava.util.Iterator<K>
- Returns:
- the next key in the iteration
- Throws:
java.util.NoSuchElementException
- if the iteration is finished
-
getKey
K getKey()
Gets the current key, which is the key returned by the last call tonext()
.- Returns:
- the current key
- Throws:
java.lang.IllegalStateException
- ifnext()
has not yet been called
-
getValue
V getValue()
Gets the current value, which is the value associated with the last key returned bynext()
.- Returns:
- the current value
- Throws:
java.lang.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 interfacejava.util.Iterator<K>
- 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()
-
setValue
V setValue(V value)
Sets the value associated with the current key (optional operation).- 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()
-
-