K
- the type of the keys in this mapV
- the type of the values in this mappublic 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<K,? extends List<V>> map)
A constructor that wraps, not copies
|
Modifier and Type | Method and Description |
---|---|
protected abstract List<V> |
createCollection()
Creates a new value collection using the provided factory.
|
List<V> |
get(K key)
Gets the list of values associated with the specified key.
|
protected Map<K,List<V>> |
getMap()
Gets the map being wrapped.
|
List<V> |
remove(Object key)
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, values
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
asMap, clear, containsKey, containsMapping, containsValue, entries, isEmpty, keys, keySet, mapIterator, put, putAll, putAll, putAll, removeMapping, size, values
protected AbstractListValuedMap()
protected AbstractListValuedMap(Map<K,? extends List<V>> map)
map
- the map to wrap, must not be nullNullPointerException
- if the map is nullprotected 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 retrieveList
of values, will return an empty List
for no mappingpublic 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 fromList
of values removed, will return an empty,
unmodifiable list for no mapping found.Copyright © 2001–2019 The Apache Software Foundation. All rights reserved.