org.apache.commons.collections4

## Interface ListValuedMap<K,V>

- Type Parameters:
    `K` - the type of the keys in this map
    `V` - the type of the values in this map
  All Superinterfaces:
    MultiValuedMap<K,V>
  All Known Implementing Classes:
    AbstractListValuedMap, ArrayListValuedHashMap

      public interface ListValuedMap<K,V>
      extends MultiValuedMap<K,V>

  Defines a map that holds a list of values against each key.

  A `ListValuedMap` is a Map with slightly different semantics:

  - Putting a value into the map will add the value to a `List` at that key.
  - Getting a value will return a `List`, holding all the values put to that key.
  Since:
    4.1

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `List<V>` | `get(K key)` Gets the list of values associated with the specified key.
    `List<V>` | `remove(Object key)` Removes all values associated with the specified key.

    - ### 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`

- - ### Method Detail

    - #### get

          List<V> get(K key)

      Gets the list of values associated with the specified key.

      This method will return an empty list if `MultiValuedMap.containsKey(Object)` returns `false`. Changes to the returned list will update the underlying `ListValuedMap` and vice-versa.

      Specified by:
        `get` in interface `MultiValuedMap<K,V>`
      Parameters:
        `key` - the key to retrieve
      Returns:
        the `List` of values, implementations should return an empty `List` for no mapping
      Throws:
        `NullPointerException` - if the key is null and null keys are invalid

    - #### remove

          List<V> remove(Object key)

      Removes all values associated with the specified key.

      The returned list may be modifiable, but updates will not be propagated to this list-valued map. In case no mapping was stored for the specified key, an empty, unmodifiable list will be returned.

      Specified by:
        `remove` in interface `MultiValuedMap<K,V>`
      Parameters:
        `key` - the key to remove values from
      Returns:
        the `List` of values removed, implementations typically return an empty, unmodifiable `List` for no mapping found
      Throws:
        `UnsupportedOperationException` - if the map is unmodifiable
        `NullPointerException` - if the key is null and null keys are invalid

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