|
JUtil | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.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)
MultiMap
this
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 callpublic boolean addAll(K key, Collection<? extends V> values)
MultiMap
key
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)
MultiMap
a
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 Object
public V get(Object key)
MultiMap
null
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)
MultiMap
key
. 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 Object
public 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)
MultiMap
null
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)
MultiMap
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
MultiMap.addAll(MultiMap)
.
putAll
in interface Map<K,V>
putAll
in interface MultiMap<K,V>
public V remove(Object key)
MultiMap
Map
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)
MultiMap
MultiMap
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)
MultiMap
key
to any value in values
.
(MultiMap
specific operation).
removeAll
in interface MultiMap<K,V>
true
if this mapping changed as a result
of the callpublic boolean retainAll(K key, Collection<?> values)
MultiMap
key
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 Object
public 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 |