# Class AbstractIterableMap<K,V>

java.lang.Object
org.apache.commons.collections4.map.AbstractIterableMap<K,V>

Type Parameters:
  `K` - the type of the keys in this map
  `V` - the type of the values in this map

All Implemented Interfaces:
  `Map<K,V>`, `Get<K,V>`, `IterableGet<K,V>`, `IterableMap<K,V>`, `Put<K,V>`

Direct Known Subclasses:
  `AbstractMapDecorator`, `CompositeMap`, `StaticBucketMap`

public abstract class AbstractIterableMap<K,V> extends Object implements IterableMap<K,V>
Provide a basic `IterableMap` implementation.

Since:
  4.0

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from interface java.util.Map

  `Map.Entry<K,V>`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AbstractIterableMap()`
  Constructs a new instance for subclasses.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `MapIterator<K,V>`
  `mapIterator()`
  Obtains a `MapIterator` over the map.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface org.apache.commons.collections4.Get

  `containsKey, containsValue, entrySet, get, isEmpty, keySet, remove, size, values`

  ### Methods inherited from interface java.util.Map

  `clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, equals, forEach, get, getOrDefault, hashCode, isEmpty, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values`

  ### Methods inherited from interface org.apache.commons.collections4.Put

  `clear, put, putAll`

- ## Constructor Details

  - ### AbstractIterableMap

    public AbstractIterableMap()
    Constructs a new instance for subclasses.

- ## Method Details

  - ### mapIterator

    public MapIterator<K,V> mapIterator()
    Obtains a `MapIterator` over the map.

    A map iterator is an efficient way of iterating over maps. There is no need to access the entry set or use Map Entry objects.

         IterableMap<String,Integer> map = new HashedMap<String,Integer>();
         MapIterator<String,Integer> it = map.mapIterator();
         while (it.hasNext()) {
           String key = it.next();
           Integer value = it.getValue();
           it.setValue(value + 1);
         }

    Specified by:
      `mapIterator` in interface `IterableGet<K,V>`
    Returns:
      a map iterator