Class AbstractSetValuedMap<K,V>
- java.lang.Object
-
- org.apache.commons.collections4.multimap.AbstractMultiValuedMap<K,V>
-
- org.apache.commons.collections4.multimap.AbstractSetValuedMap<K,V>
-
- Type Parameters:
K
- the type of the keys in this mapV
- the type of the values in this map
- All Implemented Interfaces:
MultiValuedMap<K,V>
,SetValuedMap<K,V>
- Direct Known Subclasses:
HashSetValuedHashMap
public abstract class AbstractSetValuedMap<K,V> extends AbstractMultiValuedMap<K,V> implements SetValuedMap<K,V>
Abstract implementation of theSetValuedMap
interface to simplify the creation of subclass implementations.Subclasses specify a Map implementation to use as the internal storage and the Set implementation to use as values.
- Since:
- 4.1
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractSetValuedMap()
Constructor needed for subclass serialisation.protected
AbstractSetValuedMap(Map<K,? extends Set<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 Set<V>
createCollection()
Creates a new value collection using the provided factory.Set<V>
get(K key)
Gets the set of values associated with the specified key.protected Map<K,Set<V>>
getMap()
Gets the map being wrapped.Set<V>
remove(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
-
-
-
-
Constructor Detail
-
AbstractSetValuedMap
protected AbstractSetValuedMap()
Constructor needed for subclass serialisation.
-
AbstractSetValuedMap
protected AbstractSetValuedMap(Map<K,? extends Set<V>> map)
A constructor that wraps, not copies- Parameters:
map
- the map to wrap, must not be null- Throws:
NullPointerException
- if the map is null
-
-
Method Detail
-
getMap
protected Map<K,Set<V>> getMap()
Description copied from class:AbstractMultiValuedMap
Gets the map being wrapped.- Overrides:
getMap
in classAbstractMultiValuedMap<K,V>
- Returns:
- the wrapped map
-
createCollection
protected abstract Set<V> createCollection()
Creates a new value collection using the provided factory.- Specified by:
createCollection
in classAbstractMultiValuedMap<K,V>
- Returns:
- a new list
-
get
public Set<V> get(K key)
Gets the set of values associated with the specified key. This would return an empty set in case the mapping is not present- Specified by:
get
in interfaceMultiValuedMap<K,V>
- Specified by:
get
in interfaceSetValuedMap<K,V>
- Overrides:
get
in classAbstractMultiValuedMap<K,V>
- Parameters:
key
- the key to retrieve- Returns:
- the
Set
of values, will return an emptySet
for no mapping
-
remove
public Set<V> remove(Object key)
Removes all values associated with the specified key.A subsequent
get(Object)
would return an empty set.- Specified by:
remove
in interfaceMultiValuedMap<K,V>
- Specified by:
remove
in interfaceSetValuedMap<K,V>
- Overrides:
remove
in classAbstractMultiValuedMap<K,V>
- Parameters:
key
- the key to remove values from- Returns:
- the
Set
of values removed, will return an empty, unmodifiable set for no mapping found.
-
-