# Class HashedMap<K,V>

java.lang.Object
java.util.AbstractMap<K,V>
org.apache.commons.collections4.map.AbstractHashedMap<K,V>
org.apache.commons.collections4.map.HashedMap<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:
  `Serializable`, `Cloneable`, `Map<K,V>`, `Get<K,V>`, `IterableGet<K,V>`, `IterableMap<K,V>`, `Put<K,V>`

public class HashedMap<K,V> extends AbstractHashedMap<K,V> implements Serializable, Cloneable
A `Map` implementation that is a general purpose alternative to `HashMap`.

This implementation improves on the JDK1.4 HashMap by adding the `MapIterator` functionality and many methods for subclassing.

Note that HashedMap is not synchronized and is not thread-safe. If you wish to use this map from multiple threads concurrently, you must use appropriate synchronization. The simplest approach is to wrap this map using `Collections.synchronizedMap(Map)`. This class may throw exceptions when accessed by concurrent threads without synchronization.

Since:
  3.0
See Also:
  - Serialized Form

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from class org.apache.commons.collections4.map.AbstractHashedMap

  `AbstractHashedMap.EntrySet<K,V>, AbstractHashedMap.EntrySetIterator<K,V>, AbstractHashedMap.HashEntry<K,V>, AbstractHashedMap.HashIterator<K,V>, AbstractHashedMap.HashMapIterator<K,V>, AbstractHashedMap.KeySet<K>, AbstractHashedMap.KeySetIterator<K>, AbstractHashedMap.Values<V>, AbstractHashedMap.ValuesIterator<V>`

  ### Nested classes/interfaces inherited from class java.util.AbstractMap

  `AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>`

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

  `Map.Entry<K,V>`

- ## Field Summary

  ### Fields inherited from class org.apache.commons.collections4.map.AbstractHashedMap

  `DEFAULT_CAPACITY, DEFAULT_LOAD_FACTOR, DEFAULT_THRESHOLD, GETKEY_INVALID, GETVALUE_INVALID, MAXIMUM_CAPACITY, NO_NEXT_ENTRY, NO_PREVIOUS_ENTRY, NULL, REMOVE_INVALID, SETVALUE_INVALID`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `HashedMap()`
  Constructs a new empty map with default size and load factor.
  `HashedMap(int initialCapacity)`
  Constructs a new, empty map with the specified initial capacity.
  `HashedMap(int initialCapacity, float loadFactor)`
  Constructs a new, empty map with the specified initial capacity and load factor.
  `HashedMap(Map<? extends K,? extends V> map)`
  Constructor copying elements from another map.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `HashedMap<K,V>`
  `clone()`
  Clones the map without cloning the keys or values.

  ### Methods inherited from class org.apache.commons.collections4.map.AbstractHashedMap

  `addEntry, addMapping, calculateNewCapacity, calculateThreshold, checkCapacity, clear, containsKey, containsValue, convertKey, createEntry, createEntrySetIterator, createKeySetIterator, createValuesIterator, destroyEntry, doReadObject, doWriteObject, ensureCapacity, entryHashCode, entryKey, entryNext, entrySet, entryValue, equals, get, getEntry, hash, hashCode, hashIndex, init, isEmpty, isEqualKey, isEqualValue, keySet, mapIterator, put, putAll, remove, removeEntry, removeMapping, reuseEntry, size, toString, updateEntry, values`

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

  `finalize, getClass, notify, notifyAll, wait, wait, wait`

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

  `compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll`

- ## Constructor Details

  - ### HashedMap

    public HashedMap()
    Constructs a new empty map with default size and load factor.

  - ### HashedMap

    public HashedMap(int initialCapacity)
    Constructs a new, empty map with the specified initial capacity.
    Parameters:
      `initialCapacity` - the initial capacity
    Throws:
      `IllegalArgumentException` - if the initial capacity is negative

  - ### HashedMap

    public HashedMap(int initialCapacity, float loadFactor)
    Constructs a new, empty map with the specified initial capacity and load factor.
    Parameters:
      `initialCapacity` - the initial capacity
      `loadFactor` - the load factor
    Throws:
      `IllegalArgumentException` - if the initial capacity is negative
      `IllegalArgumentException` - if the load factor is less than zero

  - ### HashedMap

    public HashedMap(Map<? extends K,? extends V> map)
    Constructor copying elements from another map.
    Parameters:
      `map` - the map to copy
    Throws:
      `NullPointerException` - if the map is null

- ## Method Details

  - ### clone

    public HashedMap<K,V> clone()
    Clones the map without cloning the keys or values.
    Overrides:
      `clone` in class `AbstractHashedMap<K,V>`
    Returns:
      a shallow clone