public abstract class AbstractListValuedMap<K,V> extends AbstractMultiValuedMap<K ,V> implements ListValuedMap <K ,V>
ListValuedMap interface 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.
| Modifier | Constructor and Description |
|---|---|
protected |
AbstractListValuedMap()
Constructor needed for subclass serialisation.
|
protected |
AbstractListValuedMap(Map
A constructor that wraps, not copies
|
| Modifier and Type | Method and Description |
|---|---|
protected abstract List |
createCollection()
Creates a new value collection using the provided factory.
|
List |
get(K key)
Gets the list of values associated with the specified key.
|
protected Map |
getMap()
Gets the map being wrapped.
|
List |
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 AbstractListValuedMap()
protected AbstractListValuedMap(Map<K ,? extends List <V>> map)
map - the map to wrap, must not be null
NullPointerException - if the map is null
protected Map<K ,List <V>> getMap()
AbstractMultiValuedMap
getMap in class
AbstractMultiValuedMap<K,V>
protected abstract List<V> createCollection()
createCollection in class
AbstractMultiValuedMap<K,V>
public List<V> get(K key)
get in interface
ListValuedMap<K,V>
get in interface
MultiValuedMap<K,V>
get in class
AbstractMultiValuedMap<K,V>
key - the key to retrieve
List of values, will return an empty
List for no mapping
public List<V> remove(Object key)
A subsequent get(Object) would return an empty list.
remove in interface
ListValuedMap<K,V>
remove in interface
MultiValuedMap<K,V>
remove in class
AbstractMultiValuedMap<K,V>
key - the key to remove values from
List of values removed, will return an empty, unmodifiable list for no mapping found.