public class MultiMapUtils extends Object
MultiValuedMap instances.
It contains various type safe and null safe methods. Additionally, it provides the following decorators:
| Modifier and Type | Field and Description |
|---|---|
static MultiValuedMap |
EMPTY_MULTI_VALUED_MAP
An empty
UnmodifiableMultiValuedMap. |
| Modifier and Type | Method and Description |
|---|---|
static <K,V> MultiValuedMap<K,V> |
emptyIfNull(MultiValuedMap<K,V> map)
Returns an immutable empty
MultiValuedMap if the argument is
null, or the argument itself otherwise. |
static <K,V> MultiValuedMap<K,V> |
emptyMultiValuedMap()
Returns immutable EMPTY_MULTI_VALUED_MAP with generic type safety.
|
static <K,V> Collection<V> |
getCollection(MultiValuedMap<K,V> map,
K key)
Gets a Collection from
MultiValuedMap in a null-safe manner. |
static <K,V> Bag<V> |
getValuesAsBag(MultiValuedMap<K,V> map,
K key)
Gets a Bag from
MultiValuedMap in a null-safe manner. |
static <K,V> List<V> |
getValuesAsList(MultiValuedMap<K,V> map,
K key)
Gets a List from
MultiValuedMap in a null-safe manner. |
static <K,V> Set<V> |
getValuesAsSet(MultiValuedMap<K,V> map,
K key)
Gets a Set from
MultiValuedMap in a null-safe manner. |
static boolean |
isEmpty(MultiValuedMap<?,?> map)
Null-safe check if the specified
MultiValuedMap is empty. |
static <K,V> ListValuedMap<K,V> |
newListValuedHashMap()
Creates a
ListValuedMap with an ArrayList as
collection class to store the values mapped to a key. |
static <K,V> SetValuedMap<K,V> |
newSetValuedHashMap()
Creates a
SetValuedMap with an HashSet as
collection class to store the values mapped to a key. |
static <K,V> MultiValuedMap<K,V> |
transformedMultiValuedMap(MultiValuedMap<K,V> map,
Transformer<? super K,? extends K> keyTransformer,
Transformer<? super V,? extends V> valueTransformer)
Returns a
TransformedMultiValuedMap backed by the given map. |
static <K,V> MultiValuedMap<K,V> |
unmodifiableMultiValuedMap(MultiValuedMap<? extends K,? extends V> map)
Returns an
UnmodifiableMultiValuedMap backed by the given
map. |
public static final MultiValuedMap EMPTY_MULTI_VALUED_MAP
UnmodifiableMultiValuedMap.public static <K,V> MultiValuedMap<K,V> emptyMultiValuedMap()
K - the type of key in the mapV - the type of value in the mapMultiValuedMappublic static <K,V> MultiValuedMap<K,V> emptyIfNull(MultiValuedMap<K,V> map)
MultiValuedMap if the argument is
null, or the argument itself otherwise.K - the type of key in the mapV - the type of value in the mapmap - the map, may be nullMultiValuedMap if the argument is nullpublic static boolean isEmpty(MultiValuedMap<?,?> map)
MultiValuedMap is empty.
If the provided map is null, returns true.
map - the map to check, may be nullpublic static <K,V> Collection<V> getCollection(MultiValuedMap<K,V> map, K key)
MultiValuedMap in a null-safe manner.K - the key typeV - the value typemap - the MultiValuedMap to usekey - the key to look upMultiValuedMap, or null if input map is nullpublic static <K,V> List<V> getValuesAsList(MultiValuedMap<K,V> map, K key)
MultiValuedMap in a null-safe manner.K - the key typeV - the value typemap - the MultiValuedMap to usekey - the key to look upMultiValuedMap as List, or null if input map is nullpublic static <K,V> Set<V> getValuesAsSet(MultiValuedMap<K,V> map, K key)
MultiValuedMap in a null-safe manner.K - the key typeV - the value typemap - the MultiValuedMap to usekey - the key to look upMultiValuedMap as Set, or null if input map is nullpublic static <K,V> Bag<V> getValuesAsBag(MultiValuedMap<K,V> map, K key)
MultiValuedMap in a null-safe manner.K - the key typeV - the value typemap - the MultiValuedMap to usekey - the key to look upMultiValuedMap as Bag, or null if input map is nullpublic static <K,V> ListValuedMap<K,V> newListValuedHashMap()
ListValuedMap with an ArrayList as
collection class to store the values mapped to a key.K - the key typeV - the value typeListValuedMappublic static <K,V> SetValuedMap<K,V> newSetValuedHashMap()
SetValuedMap with an HashSet as
collection class to store the values mapped to a key.K - the key typeV - the value typeSetValuedMappublic static <K,V> MultiValuedMap<K,V> unmodifiableMultiValuedMap(MultiValuedMap<? extends K,? extends V> map)
UnmodifiableMultiValuedMap backed by the given
map.K - the key typeV - the value typemap - the MultiValuedMap to decorate, must not be nullMultiValuedMap backed by the provided mapNullPointerException - if map is nullpublic static <K,V> MultiValuedMap<K,V> transformedMultiValuedMap(MultiValuedMap<K,V> map, Transformer<? super K,? extends K> keyTransformer, Transformer<? super V,? extends V> valueTransformer)
TransformedMultiValuedMap backed by the given map.
This method returns a new MultiValuedMap (decorating the
specified map) that will transform any new entries added to it. Existing
entries in the specified map will not be transformed. If you want that
behaviour, see TransformedMultiValuedMap.transformedMap(org.apache.commons.collections4.MultiValuedMap<K, V>, org.apache.commons.collections4.Transformer<? super K, ? extends K>, org.apache.commons.collections4.Transformer<? super V, ? extends V>).
Each object is passed through the transformers as it is added to the Map. It is important not to use the original map after invoking this method, as it is a back door for adding untransformed objects.
If there are any elements already in the map being decorated, they are NOT transformed.
K - the key typeV - the value typemap - the MultiValuedMap to transform, must not be null, typically emptykeyTransformer - the transformer for the map keys, null means no transformationvalueTransformer - the transformer for the map values, null means no transformationMultiValuedMap backed by the given mapNullPointerException - if map is nullCopyright © 2001–2015 The Apache Software Foundation. All rights reserved.