Class ArrayListValuedHashMap<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:
    java.io.Serializable, ListValuedMap<K,​V>, MultiValuedMap<K,​V>

    public class ArrayListValuedHashMap<K,​V>
    extends AbstractListValuedMap<K,​V>
    implements java.io.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
    See Also:
    Serialized Form
    • Field Detail

      • serialVersionUID

        private static final long serialVersionUID
        Serialization Version
        See Also:
        Constant Field Values
      • DEFAULT_INITIAL_MAP_CAPACITY

        private static final int DEFAULT_INITIAL_MAP_CAPACITY
        The initial map capacity used when none specified in constructor.
        See Also:
        Constant Field Values
      • DEFAULT_INITIAL_LIST_CAPACITY

        private static final int DEFAULT_INITIAL_LIST_CAPACITY
        The initial list capacity when using none specified in constructor.
        See Also:
        Constant Field Values
      • initialListCapacity

        private final int initialListCapacity
        The initial list capacity when creating a new value collection.
    • Constructor Detail

      • 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​(java.util.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 Detail

      • trimToSize

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

        private void writeObject​(java.io.ObjectOutputStream oos)
                          throws java.io.IOException
        Throws:
        java.io.IOException
      • readObject

        private void readObject​(java.io.ObjectInputStream ois)
                         throws java.io.IOException,
                                java.lang.ClassNotFoundException
        Throws:
        java.io.IOException
        java.lang.ClassNotFoundException