|
JUtil | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectnet.cscott.jutil.GenericInvertibleMultiMap<K,V>
public class GenericInvertibleMultiMap<K,V>
GenericInvertibleMultiMap is a default implementation of
InvertibleMultiMap. It returns modifiable inverted
views of the mappings it maintains. Note that a
GenericInvertibleMultiMap can directly replace a
GenericInvertibleMap, because MultiMap
correctly extends Map.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface java.util.Map |
|---|
Map.Entry<K,V> |
| Constructor Summary | |
|---|---|
GenericInvertibleMultiMap()
|
|
GenericInvertibleMultiMap(CollectionFactory cf)
|
|
GenericInvertibleMultiMap(Map<? extends K,? extends V> m)
|
|
GenericInvertibleMultiMap(MapFactory mf,
CollectionFactory cf)
|
|
GenericInvertibleMultiMap(MultiMap<? extends K,? extends V> mm)
|
|
GenericInvertibleMultiMap(MultiMapFactory mmf)
|
|
| Method Summary | |
|---|---|
boolean |
add(K key,
V value)
Ensures that this contains an association from
key to value. |
boolean |
addAll(K key,
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)
Adds all mappings in the given multimap to this multimap. |
void |
clear()
|
boolean |
contains(Object a,
Object b)
Returns true if a has a mapping to b
in this. |
boolean |
containsKey(Object key)
|
boolean |
containsValue(Object value)
|
MultiMapSet<K,V> |
entrySet()
The Set returned by this method is actually an
instance of MultiMapSet. |
boolean |
equals(Object o)
|
V |
get(Object key)
Returns some arbitrary value from the collection of values to which this map maps the specified key. |
Collection<V> |
getValues(K key)
Returns the collection of Values associated with key. |
int |
hashCode()
|
InvertibleMultiMap<V,K> |
invert()
Returns an unmodifiable inverted view of this. |
boolean |
isEmpty()
|
Set<K> |
keySet()
|
V |
put(K key,
V value)
Associates the specified value with the specified key in this map, after removing all old values associated with the key. |
void |
putAll(Map<? extends K,? extends V> t)
Copies the mappings from the specified map to this map, after removing all old values associated with the key. |
V |
remove(Object key)
Removes mappings from key to all associated values from this map. |
boolean |
remove(Object key,
Object value)
Removes a mapping from key to value from this map if present. |
boolean |
removeAll(K key,
Collection<?> values)
Removes from the current mappings: associations for key to any value in values. |
boolean |
retainAll(K key,
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). |
String |
toString()
|
Collection<V> |
values()
|
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public GenericInvertibleMultiMap(MultiMapFactory mmf)
public GenericInvertibleMultiMap(MapFactory mf,
CollectionFactory cf)
public GenericInvertibleMultiMap(CollectionFactory cf)
public GenericInvertibleMultiMap()
public GenericInvertibleMultiMap(Map<? extends K,? extends V> m)
public GenericInvertibleMultiMap(MultiMap<? extends K,? extends V> mm)
| Method Detail |
|---|
public InvertibleMultiMap<V,K> invert()
this.
invert in interface InvertibleMap<K,V>invert in interface InvertibleMultiMap<K,V>
public boolean add(K key,
V value)
MultiMapthis contains an association from
key to value.
(MultiMap specific operation).
add in interface MultiMap<K,V>true if this mapping changed as a result of
the call
public boolean addAll(K key,
Collection<? extends V> values)
MultiMapkey to each value in values.
(MultiMap specific operation).
addAll in interface MultiMap<K,V>true if this mapping changed as a result
of the callpublic boolean addAll(MultiMap<? extends K,? extends V> mm)
MultiMap
addAll in interface MultiMap<K,V>public void clear()
clear in interface Map<K,V>
public boolean contains(Object a,
Object b)
MultiMapa has a mapping to b
in this.
(MultiMap specific operation).
contains in interface MultiMap<K,V>public boolean containsKey(Object key)
containsKey in interface Map<K,V>public boolean containsValue(Object value)
containsValue in interface Map<K,V>public MultiMapSet<K,V> entrySet()
Set returned by this method is actually an
instance of MultiMapSet.
entrySet in interface Map<K,V>entrySet in interface MultiMap<K,V>public boolean equals(Object o)
equals in interface Map<K,V>equals in class Objectpublic V get(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.
get in interface Map<K,V>get in interface MultiMap<K,V>public 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).
getValues in interface MultiMap<K,V>public int hashCode()
hashCode in interface Map<K,V>hashCode in class Objectpublic boolean isEmpty()
isEmpty in interface Map<K,V>public Set<K> keySet()
keySet in interface Map<K,V>
public V put(K key,
V value)
MultiMapnull if no values were
associated previously.
put in interface Map<K,V>put in interface MultiMap<K,V>public void putAll(Map<? extends K,? extends V> t)
MultiMapputAll(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
MultiMap.addAll(MultiMap).
putAll in interface Map<K,V>putAll in interface MultiMap<K,V>public V remove(Object key)
MultiMapMap definition of
remove.
remove in interface Map<K,V>remove in interface MultiMap<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 boolean remove(Object key,
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.
remove in interface MultiMap<K,V>
public boolean removeAll(K key,
Collection<?> values)
MultiMapkey to any value in values.
(MultiMap specific operation).
removeAll in interface MultiMap<K,V>true if this mapping changed as a result
of the call
public boolean retainAll(K key,
Collection<?> values)
MultiMapkey to any value not in values.
(MultiMap specific operation).
retainAll in interface MultiMap<K,V>true if this mapping changed as a result
of the callpublic int size()
MultiMap
size in interface Map<K,V>size in interface MultiMap<K,V>public String toString()
toString in class Objectpublic Collection<V> values()
values in interface Map<K,V>
|
JUtil | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||