Class AbstractListValuedMap<K,V>
- java.lang.Object
-
- org.apache.commons.collections4.multimap.AbstractMultiValuedMap<K,V>
-
- org.apache.commons.collections4.multimap.AbstractListValuedMap<K,V>
-
- Type Parameters:
K- the type of the keys in this mapV- the type of the values in this map
- All Implemented Interfaces:
ListValuedMap<K,V>,MultiValuedMap<K,V>
- Direct Known Subclasses:
ArrayListValuedHashMap
public abstract class AbstractListValuedMap<K,V> extends AbstractMultiValuedMap<K,V> implements ListValuedMap<K,V>
Abstract implementation of theListValuedMapinterface to simplify the creation of subclass implementations.Subclasses specify a Map implementation to use as the internal storage and the List implementation to use as values.
- Since:
- 4.1
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractListValuedMap()Constructor needed for subclass serialisation.protectedAbstractListValuedMap(java.util.Map<K,? extends java.util.List<V>> map)A constructor that wraps, not copies
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract java.util.List<V>createCollection()Creates a new value collection using the provided factory.java.util.List<V>get(K key)Gets the list of values associated with the specified key.protected java.util.Map<K,java.util.List<V>>getMap()Gets the map being wrapped.java.util.List<V>remove(java.lang.Object key)Removes all values associated with the specified key.-
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
-
-
-
-
Method Detail
-
getMap
protected java.util.Map<K,java.util.List<V>> getMap()
Description copied from class:AbstractMultiValuedMapGets the map being wrapped.- Overrides:
getMapin classAbstractMultiValuedMap<K,V>- Returns:
- the wrapped map
-
createCollection
protected abstract java.util.List<V> createCollection()
Creates a new value collection using the provided factory.- Specified by:
createCollectionin classAbstractMultiValuedMap<K,V>- Returns:
- a new list
-
get
public java.util.List<V> get(K key)
Gets the list of values associated with the specified key. This would return an empty list in case the mapping is not present- Specified by:
getin interfaceListValuedMap<K,V>- Specified by:
getin interfaceMultiValuedMap<K,V>- Overrides:
getin classAbstractMultiValuedMap<K,V>- Parameters:
key- the key to retrieve- Returns:
- the
Listof values, will return an emptyListfor no mapping
-
remove
public java.util.List<V> remove(java.lang.Object key)
Removes all values associated with the specified key.A subsequent
get(Object)would return an empty list.- Specified by:
removein interfaceListValuedMap<K,V>- Specified by:
removein interfaceMultiValuedMap<K,V>- Overrides:
removein classAbstractMultiValuedMap<K,V>- Parameters:
key- the key to remove values from- Returns:
- the
Listof values removed, will return an empty, unmodifiable list for no mapping found.
-
-