private static class Multimaps.TransformedEntriesMultimap<K,V1,V2> extends AbstractMultimap<K,V2>
AbstractMultimap.Entries, AbstractMultimap.EntrySet, AbstractMultimap.Values
Modifier and Type | Field and Description |
---|---|
(package private) Multimap<K,V1> |
fromMultimap |
(package private) Maps.EntryTransformer<? super K,? super V1,V2> |
transformer |
Constructor and Description |
---|
TransformedEntriesMultimap(Multimap<K,V1> fromMultimap,
Maps.EntryTransformer<? super K,? super V1,V2> transformer) |
Modifier and Type | Method and Description |
---|---|
void |
clear()
Removes all key-value pairs from the multimap, leaving it empty.
|
boolean |
containsKey(java.lang.Object key)
Returns
true if this multimap contains at least one key-value pair with the key key . |
(package private) java.util.Map<K,java.util.Collection<V2>> |
createAsMap() |
(package private) java.util.Collection<java.util.Map.Entry<K,V2>> |
createEntries() |
(package private) Multiset<K> |
createKeys() |
(package private) java.util.Set<K> |
createKeySet() |
(package private) java.util.Collection<V2> |
createValues() |
(package private) java.util.Iterator<java.util.Map.Entry<K,V2>> |
entryIterator() |
java.util.Collection<V2> |
get(K key)
Returns a view collection of the values associated with
key in this multimap, if any. |
boolean |
isEmpty()
Returns
true if this multimap contains no key-value pairs. |
boolean |
put(K key,
V2 value)
Stores a key-value pair in this multimap.
|
boolean |
putAll(K key,
java.lang.Iterable<? extends V2> values)
Stores a key-value pair in this multimap for each of
values , all using the same key,
key . |
boolean |
putAll(Multimap<? extends K,? extends V2> multimap)
Stores all key-value pairs of
multimap in this multimap, in the order returned by
multimap.entries() . |
boolean |
remove(java.lang.Object key,
java.lang.Object value)
Removes a single key-value pair with the key
key and the value value from this
multimap, if such exists. |
java.util.Collection<V2> |
removeAll(java.lang.Object key)
Removes all values associated with the key
key . |
java.util.Collection<V2> |
replaceValues(K key,
java.lang.Iterable<? extends V2> values)
Stores a collection of values with the same key, replacing any existing values for that key.
|
int |
size()
Returns the number of key-value pairs in this multimap.
|
(package private) java.util.Collection<V2> |
transform(K key,
java.util.Collection<V1> values) |
asMap, containsEntry, containsValue, entries, entrySpliterator, equals, hashCode, keys, keySet, toString, valueIterator, values, valueSpliterator
final Maps.EntryTransformer<? super K,? super V1,V2> transformer
java.util.Map<K,java.util.Collection<V2>> createAsMap()
createAsMap
in class AbstractMultimap<K,V2>
public void clear()
Multimap
public boolean containsKey(@CheckForNull java.lang.Object key)
Multimap
true
if this multimap contains at least one key-value pair with the key key
.java.util.Collection<java.util.Map.Entry<K,V2>> createEntries()
createEntries
in class AbstractMultimap<K,V2>
java.util.Iterator<java.util.Map.Entry<K,V2>> entryIterator()
entryIterator
in class AbstractMultimap<K,V2>
public java.util.Collection<V2> get(K key)
Multimap
key
in this multimap, if any.
Note that when containsKey(key)
is false, this returns an empty collection, not null
.
Changes to the returned collection will update the underlying multimap, and vice versa.
public boolean isEmpty()
Multimap
true
if this multimap contains no key-value pairs. Equivalent to size()
== 0
, but can in some cases be more efficient.java.util.Set<K> createKeySet()
createKeySet
in class AbstractMultimap<K,V2>
Multiset<K> createKeys()
createKeys
in class AbstractMultimap<K,V2>
public boolean put(K key, V2 value)
Multimap
Some multimap implementations allow duplicate key-value pairs, in which case put
always adds a new key-value pair and increases the multimap size by 1. Other implementations
prohibit duplicates, and storing a key-value pair that's already in the multimap has no effect.
public boolean putAll(K key, java.lang.Iterable<? extends V2> values)
Multimap
values
, all using the same key,
key
. Equivalent to (but expected to be more efficient than):
for (V value : values) {
put(key, value);
}
In particular, this is a no-op if values
is empty.
public boolean putAll(Multimap<? extends K,? extends V2> multimap)
Multimap
multimap
in this multimap, in the order returned by
multimap.entries()
.public boolean remove(@CheckForNull java.lang.Object key, @CheckForNull java.lang.Object value)
Multimap
key
and the value value
from this
multimap, if such exists. If multiple key-value pairs in the multimap fit this description,
which one is removed is unspecified.public java.util.Collection<V2> removeAll(@CheckForNull java.lang.Object key)
Multimap
key
.
Once this method returns, key
will not be mapped to any values, so it will not
appear in Multimap.keySet()
, Multimap.asMap()
, or any other views.
public java.util.Collection<V2> replaceValues(K key, java.lang.Iterable<? extends V2> values)
Multimap
If values
is empty, this is equivalent to removeAll(key)
.
replaceValues
in interface Multimap<K,V2>
replaceValues
in class AbstractMultimap<K,V2>
public int size()
Multimap
Note: this method does not return the number of distinct keys in the multimap,
which is given by keySet().size()
or asMap().size()
. See the opening section of
the Multimap
class documentation for clarification.
java.util.Collection<V2> createValues()
createValues
in class AbstractMultimap<K,V2>