# Package org.apache.commons.collections4.multimap

This package contains implementations of the `MultiValuedMap` interfaces.

See: Description

- Class Summary
  Class | Description
  --- | ---
  AbstractListValuedMap<K,V> | Abstract implementation of the `ListValuedMap` interface to simplify the creation of subclass implementations.
  AbstractMultiValuedMap<K,V> | Abstract implementation of the `MultiValuedMap` interface to simplify the creation of subclass implementations.
  AbstractMultiValuedMapDecorator<K,V> | Decorates another `MultiValuedMap` to provide additional behaviour.
  AbstractSetValuedMap<K,V> | Abstract implementation of the `SetValuedMap` interface to simplify the creation of subclass implementations.
  ArrayListValuedHashMap<K,V> | Implements a `ListValuedMap`, using a `HashMap` to provide data storage and `ArrayList`s as value collections.
  HashSetValuedHashMap<K,V> | Implements a `SetValuedMap`, using a `HashMap` to provide data storage and `HashSet`s as value collections.
  TransformedMultiValuedMap<K,V> | Decorates another `MultiValuedMap` to transform objects that are added.
  UnmodifiableMultiValuedMap<K,V> | Decorates another `MultiValuedMap` to ensure it can't be altered.

## Package org.apache.commons.collections4.multimap Description

This package contains implementations of the `MultiValuedMap` interfaces. A MultiValuedMap holds a collection of values against each key.

The following implementations are provided in the package:

- ArrayListValuedHashMap - ListValuedMap implementation using a HashMap/ArrayList
- HashSetValuedHashMap - SetValuedMap implementation using a HashMap/HashSet

The following decorators are provided in the package:

- Transformed - transforms elements added to the MultiValuedMap
- Unmodifiable - ensures the collection cannot be altered

Copyright © 2001–2019 The Apache Software Foundation. All rights reserved.