Package org.apache.commons.collections4.multimap

# Class HashSetValuedHashMap<K,V>

java.lang.Object
org.apache.commons.collections4.multimap.AbstractMultiValuedMap<K,V>
org.apache.commons.collections4.multimap.AbstractSetValuedMap<K,V>
org.apache.commons.collections4.multimap.HashSetValuedHashMap<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`, `MultiValuedMap<K,V>`, `SetValuedMap<K,V>`

public class HashSetValuedHashMap<K,V> extends AbstractSetValuedMap<K,V> implements Serializable
Implements a `SetValuedMap`, using a `HashMap` to provide data storage and `HashSet`s as value collections. This is the standard implementation of a SetValuedMap.

Note that HashSetValuedHashMap 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

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `HashSetValuedHashMap()`
  Creates an empty HashSetValuedHashMap with the default initial map capacity (16) and the default initial set capacity (3).
  `HashSetValuedHashMap(int initialSetCapacity)`
  Creates an empty HashSetValuedHashMap with the default initial map capacity (16) and the specified initial set capacity.
  `HashSetValuedHashMap(int initialMapCapacity, int initialSetCapacity)`
  Creates an empty HashSetValuedHashMap with the specified initial map and list capacities.
  `HashSetValuedHashMap(Map<? extends K,? extends V> map)`
  Creates an HashSetValuedHashMap copying all the mappings of the given map.
  `HashSetValuedHashMap(MultiValuedMap<? extends K,? extends V> map)`
  Creates an HashSetValuedHashMap copying all the mappings of the given map.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected HashSet<V>`
  `createCollection()`
  Creates a new value collection using the provided factory.

  ### Methods inherited from class org.apache.commons.collections4.multimap.AbstractSetValuedMap

  `get, getMap, remove`

  ### Methods inherited from class org.apache.commons.collections4.multimap.AbstractMultiValuedMap

  `asMap, clear, containsKey, containsMapping, containsValue, doReadObject, doWriteObject, entries, equals, hashCode, isEmpty, keys, keySet, mapIterator, put, putAll, putAll, putAll, removeMapping, setMap, size, toString, values`

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

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

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

  `asMap, clear, containsKey, containsMapping, containsValue, entries, isEmpty, keys, keySet, mapIterator, put, putAll, putAll, putAll, removeMapping, size, values`

- ## Constructor Details

  - ### HashSetValuedHashMap

    public HashSetValuedHashMap()
    Creates an empty HashSetValuedHashMap with the default initial map capacity (16) and the default initial set capacity (3).

  - ### HashSetValuedHashMap

    public HashSetValuedHashMap(int initialSetCapacity)
    Creates an empty HashSetValuedHashMap with the default initial map capacity (16) and the specified initial set capacity.
    Parameters:
      `initialSetCapacity` - the initial capacity used for value collections

  - ### HashSetValuedHashMap

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

  - ### HashSetValuedHashMap

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

  - ### HashSetValuedHashMap

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

- ## Method Details

  - ### createCollection

    protected HashSet<V> createCollection()
    Description copied from class: `AbstractSetValuedMap`
    Creates a new value collection using the provided factory.
    Specified by:
      `createCollection` in class `AbstractSetValuedMap<K,V>`
    Returns:
      a new set