public abstract class AbstractMultiMap<K,V> extends java.util.AbstractMap<K,V> implements MultiMap<K,V>
MultiMap
interface, to minimize the effort requires to implement this interface.| Constructor and Description |
|---|
AbstractMultiMap() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
add(K key,
V value)
Ensures that
this contains an association from
key to value. |
boolean |
addAll(K key,
java.util.Collection<? extends V> values)
Adds to the current mappings: associations for
key to each value in values. |
boolean |
addAll(MultiMap<? extends K,? extends V> mm)
Add all mappings in the given multimap to this multimap.
|
abstract void |
clear() |
abstract boolean |
contains(java.lang.Object a,
java.lang.Object b)
Returns true if
a has a mapping to b
in this. |
boolean |
containsKey(java.lang.Object key) |
boolean |
containsValue(java.lang.Object value) |
abstract MultiMapSet<K,V> |
entrySet()
Returns a
Set view that allows you to recapture
the MultiMap view. |
boolean |
equals(java.lang.Object o) |
V |
get(java.lang.Object key)
Returns some arbitrary value from the collection of values to
which this map maps the specified key.
|
abstract java.util.Collection<V> |
getValues(K key)
Returns the collection of Values associated with
key. |
int |
hashCode() |
boolean |
isEmpty() |
V |
put(K key,
V value)
Associates the specified value with the specified key in this
map.
|
void |
putAll(java.util.Map<? extends K,? extends V> t)
Copies the mappings from the specified map to this
map.
|
abstract V |
remove(java.lang.Object key)
Removes mappings from key to all associated values from this map.
|
abstract boolean |
remove(java.lang.Object key,
java.lang.Object value)
Removes a mapping from key to value from this map if present.
|
boolean |
removeAll(K key,
java.util.Collection<?> values)
Removes from the current mappings: associations for
key to any value in values. |
boolean |
retainAll(K key,
java.util.Collection<?> values)
Removes from the current mappings: associations for
key to any value not in values. |
int |
size()
Returns the number of key-value mappings in this map (keys which
map to multiple values count multiple times).
|
java.lang.String |
toString() |
public int hashCode()
public boolean addAll(K key, java.util.Collection<? extends V> values)
key to each value in values.
(MultiMap specific operation).public boolean addAll(MultiMap<? extends K,? extends V> mm)
public boolean retainAll(K key, java.util.Collection<?> values)
key to any value not in values.
(MultiMap specific operation).public boolean removeAll(K key, java.util.Collection<?> values)
key to any value in values.
(MultiMap specific operation).public boolean equals(java.lang.Object o)
public void putAll(java.util.Map<? extends K,? extends V> t)
putAll(mm) where mm is a
MultiMap will NOT add all of the mappings in
mm; it will only add all of the Keys in
mm, mapping each Key to one of the Values it
mapped to in mm. To add all of the mappings from
another MultiMap, use
addAll(MultiMap).public V put(K key, V value)
null if no values were associated previously.public boolean containsKey(java.lang.Object key)
public boolean containsValue(java.lang.Object value)
public boolean isEmpty()
public int size()
MultiMappublic V get(java.lang.Object key)
MultiMapnull if the map contains no mapping for the key;
it's also possible that the map explicitly maps the key to
null. The containsKey operation may
be used to distinquish these two cases.
Note that if only the put method is used to
modify this, then get will operate
just as it would in any other Map.public abstract java.util.Collection<V> getValues(K key)
MultiMapkey. Modifications to the returned
Collection affect this as well. If
there are no Values currently associated with
key, constructs a new, potentially mutable, empty
Collection and returns it.
(MultiMap specific operation).public abstract boolean contains(java.lang.Object a,
java.lang.Object b)
MultiMappublic abstract V remove(java.lang.Object key)
MultiMapMap definition of
remove.remove in interface java.util.Map<K,V>remove in interface MultiMap<K,V>remove in class java.util.AbstractMap<K,V>null if Map associated
no values with the key. Note that a zero-sized collection
is not returned in the latter case, and that a
null return value may be ambiguous if the map
associated null with the given key (in addition
to possibly other values).public abstract boolean remove(java.lang.Object key,
java.lang.Object value)
MultiMapMultiMap specific operation).
Note that if multiple mappings from key to value are permitted
by this map, then only one is guaranteed to be removed.
Returns true if this was modified as a result of
this operation, else returns false.public abstract void clear()
public abstract MultiMapSet<K,V> entrySet()
MultiMapSet view that allows you to recapture
the MultiMap view.Copyright (c) 2006 C. Scott Ananian