public abstract class AbstractSetValuedMap<K,V> extends AbstractMultiValuedMap<K ,V> implements SetValuedMap <K ,V>
SetValuedMap 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.
| Modifier | Constructor and Description |
|---|---|
protected |
AbstractSetValuedMap()
Constructor needed for subclass serialisation.
|
protected |
AbstractSetValuedMap(Map
A constructor that wraps, not copies
|
| Modifier and Type | Method and Description |
|---|---|
protected abstract Set |
createCollection()
Creates a new value collection using the provided factory.
|
Set |
get(K key)
Gets the set of values associated with the specified key.
|
protected Map |
getMap()
Gets the map being wrapped.
|
Set |
remove(Object
Removes all values associated with the specified key.
|
asMap, clear, containsKey, containsMapping, containsValue, doReadObject, doWriteObject, entries, equals, hashCode, isEmpty, keys, keySet, mapIterator, put, putAll, putAll, putAll, removeMapping, setMap, size, toString, valuesclone, finalize, getClass, notify, notifyAll, wait, wait, waitasMap, clear, containsKey, containsMapping, containsValue, entries, isEmpty, keys, keySet, mapIterator, put, putAll, putAll, putAll, removeMapping, size, valuesprotected AbstractSetValuedMap()
protected AbstractSetValuedMap(Map<K ,? extends Set <V>> map)
map - the map to wrap, must not be null
NullPointerException - if the map is null
protected Map<K ,Set <V>> getMap()
AbstractMultiValuedMap
getMap in class
AbstractMultiValuedMap<K,V>
protected abstract Set<V> createCollection()
createCollection in class
AbstractMultiValuedMap<K,V>
public Set<V> get(K key)
get in interface
MultiValuedMap<K,V>
get in interface
SetValuedMap<K,V>
get in class
AbstractMultiValuedMap<K,V>
key - the key to retrieve
Set of values, will return an empty
Set for no mapping
public Set<V> remove(Object key)
A subsequent get(Object) would return an empty set.
remove in interface
MultiValuedMap<K,V>
remove in interface
SetValuedMap<K,V>
remove in class
AbstractMultiValuedMap<K,V>
key - the key to remove values from
Set of values removed, will return an empty, unmodifiable set for no mapping found.