Class ArrayListValuedHashMap<K,V>

All Implemented Interfaces:
Serializable, ListValuedMap<K,V>, MultiValuedMap<K,V>

public class ArrayListValuedHashMap<K,V> extends AbstractListValuedMap<K,V> implements Serializable
Implements a ListValuedMap, using a HashMap to provide data storage and ArrayLists as value collections. This is the standard implementation of a ListValuedMap.

Note that ArrayListValuedHashMap is not synchronized and is not thread-safe. If you wish to use this map from multiple threads concurrently, you must use appropriate synchronization. This class may throw exceptions when accessed by concurrent threads without synchronization.

Since:
4.1
Version:
$Id: ArrayListValuedHashMap.java 1715492 2015-11-21 10:09:31Z tn $
See Also:
  • Constructor Details

    • ArrayListValuedHashMap

      public ArrayListValuedHashMap()
      Creates an empty ArrayListValuedHashMap with the default initial map capacity (16) and the default initial list capacity (3).
    • ArrayListValuedHashMap

      public ArrayListValuedHashMap(int initialListCapacity)
      Creates an empty ArrayListValuedHashMap with the default initial map capacity (16) and the specified initial list capacity.
      Parameters:
      initialListCapacity - the initial capacity used for value collections
    • ArrayListValuedHashMap

      public ArrayListValuedHashMap(int initialMapCapacity, int initialListCapacity)
      Creates an empty ArrayListValuedHashMap with the specified initial map and list capacities.
      Parameters:
      initialMapCapacity - the initial hashmap capacity
      initialListCapacity - the initial capacity used for value collections
    • ArrayListValuedHashMap

      public ArrayListValuedHashMap(MultiValuedMap<? extends K,? extends V> map)
      Creates an ArrayListValuedHashMap copying all the mappings of the given map.
      Parameters:
      map - a MultiValuedMap to copy into this map
    • ArrayListValuedHashMap

      public ArrayListValuedHashMap(Map<? extends K,? extends V> map)
      Creates an ArrayListValuedHashMap copying all the mappings of the given map.
      Parameters:
      map - a Map to copy into this map
  • Method Details

    • createCollection

      protected ArrayList<V> createCollection()
      Description copied from class: AbstractListValuedMap
      Creates a new value collection using the provided factory.
      Specified by:
      createCollection in class AbstractListValuedMap<K,V>
      Returns:
      a new list
    • trimToSize

      public void trimToSize()
      Trims the capacity of all value collections to their current size.