Class Multimaps.MapMultimap<K,V>
- java.lang.Object
-
- com.google.common.collect.AbstractMultimap<K,V>
-
- com.google.common.collect.Multimaps.MapMultimap<K,V>
-
- All Implemented Interfaces:
Multimap<K,V>,SetMultimap<K,V>,java.io.Serializable
- Enclosing class:
- Multimaps
private static class Multimaps.MapMultimap<K,V> extends AbstractMultimap<K,V> implements SetMultimap<K,V>, java.io.Serializable
- See Also:
Multimaps.forMap(java.util.Map<K, V>)
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.google.common.collect.AbstractMultimap
AbstractMultimap.Entries, AbstractMultimap.EntrySet, AbstractMultimap.Values
-
-
Field Summary
Fields Modifier and Type Field Description (package private) java.util.Map<K,V>mapprivate static longserialVersionUID
-
Constructor Summary
Constructors Constructor Description MapMultimap(java.util.Map<K,V> map)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()Removes all key-value pairs from the multimap, leaving it empty.booleancontainsEntry(java.lang.Object key, java.lang.Object value)Returnstrueif this multimap contains at least one key-value pair with the keykeyand the valuevalue.booleancontainsKey(java.lang.Object key)Returnstrueif this multimap contains at least one key-value pair with the keykey.booleancontainsValue(java.lang.Object value)Returnstrueif this multimap contains at least one key-value pair with the valuevalue.(package private) java.util.Map<K,java.util.Collection<V>>createAsMap()(package private) java.util.Collection<java.util.Map.Entry<K,V>>createEntries()(package private) Multiset<K>createKeys()(package private) java.util.Set<K>createKeySet()(package private) java.util.Collection<V>createValues()java.util.Set<java.util.Map.Entry<K,V>>entries()Returns a view collection of all key-value pairs contained in this multimap, asMap.Entryinstances.(package private) java.util.Iterator<java.util.Map.Entry<K,V>>entryIterator()java.util.Set<V>get(K key)Returns a view collection of the values associated withkeyin this multimap, if any.inthashCode()Returns the hash code for this multimap.booleanput(K key, V value)Stores a key-value pair in this multimap.booleanputAll(Multimap<? extends K,? extends V> multimap)Stores all key-value pairs ofmultimapin this multimap, in the order returned bymultimap.entries().booleanputAll(K key, java.lang.Iterable<? extends V> values)Stores a key-value pair in this multimap for each ofvalues, all using the same key,key.booleanremove(java.lang.Object key, java.lang.Object value)Removes a single key-value pair with the keykeyand the valuevaluefrom this multimap, if such exists.java.util.Set<V>removeAll(java.lang.Object key)Removes all values associated with the keykey.java.util.Set<V>replaceValues(K key, java.lang.Iterable<? extends V> values)Stores a collection of values with the same key, replacing any existing values for that key.intsize()Returns the number of key-value pairs in this multimap.-
Methods inherited from class com.google.common.collect.AbstractMultimap
asMap, entrySpliterator, equals, isEmpty, keys, keySet, toString, valueIterator, values, valueSpliterator
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.google.common.collect.Multimap
forEach, isEmpty, keys, keySet, values
-
Methods inherited from interface com.google.common.collect.SetMultimap
asMap, equals
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
-
Method Detail
-
size
public int size()
Description copied from interface:MultimapReturns the number of key-value pairs in this multimap.Note: this method does not return the number of distinct keys in the multimap, which is given by
keySet().size()orasMap().size(). See the opening section of theMultimapclass documentation for clarification.
-
containsKey
public boolean containsKey(java.lang.Object key)
Description copied from interface:MultimapReturnstrueif this multimap contains at least one key-value pair with the keykey.- Specified by:
containsKeyin interfaceMultimap<K,V>
-
containsValue
public boolean containsValue(java.lang.Object value)
Description copied from interface:MultimapReturnstrueif this multimap contains at least one key-value pair with the valuevalue.- Specified by:
containsValuein interfaceMultimap<K,V>- Overrides:
containsValuein classAbstractMultimap<K,V>
-
containsEntry
public boolean containsEntry(java.lang.Object key, java.lang.Object value)Description copied from interface:MultimapReturnstrueif this multimap contains at least one key-value pair with the keykeyand the valuevalue.- Specified by:
containsEntryin interfaceMultimap<K,V>- Overrides:
containsEntryin classAbstractMultimap<K,V>
-
get
public java.util.Set<V> get(K key)
Description copied from interface:SetMultimapReturns a view collection of the values associated withkeyin this multimap, if any. Note that whencontainsKey(key)is false, this returns an empty collection, notnull.Changes to the returned collection will update the underlying multimap, and vice versa.
Because a
SetMultimaphas unique values for a given key, this method returns aSet, instead of theCollectionspecified in theMultimapinterface.
-
put
public boolean put(K key, V value)
Description copied from interface:MultimapStores a key-value pair in this multimap.Some multimap implementations allow duplicate key-value pairs, in which case
putalways 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.
-
putAll
public boolean putAll(K key, java.lang.Iterable<? extends V> values)
Description copied from interface:MultimapStores a key-value pair in this multimap for each ofvalues, 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
valuesis empty.
-
putAll
public boolean putAll(Multimap<? extends K,? extends V> multimap)
Description copied from interface:MultimapStores all key-value pairs ofmultimapin this multimap, in the order returned bymultimap.entries().
-
replaceValues
public java.util.Set<V> replaceValues(K key, java.lang.Iterable<? extends V> values)
Description copied from interface:MultimapStores a collection of values with the same key, replacing any existing values for that key.If
valuesis empty, this is equivalent toremoveAll(key).- Specified by:
replaceValuesin interfaceMultimap<K,V>- Specified by:
replaceValuesin interfaceSetMultimap<K,V>- Overrides:
replaceValuesin classAbstractMultimap<K,V>- Returns:
- the collection of replaced values, or an empty collection if no values were previously associated with the key. The collection may be modifiable, but updating it will have no effect on the multimap.
-
remove
public boolean remove(java.lang.Object key, java.lang.Object value)Description copied from interface:MultimapRemoves a single key-value pair with the keykeyand the valuevaluefrom this multimap, if such exists. If multiple key-value pairs in the multimap fit this description, which one is removed is unspecified.
-
removeAll
public java.util.Set<V> removeAll(java.lang.Object key)
Description copied from interface:SetMultimapRemoves all values associated with the keykey.Once this method returns,
keywill not be mapped to any values, so it will not appear inMultimap.keySet(),Multimap.asMap(), or any other views.Because a
SetMultimaphas unique values for a given key, this method returns aSet, instead of theCollectionspecified in theMultimapinterface.
-
clear
public void clear()
Description copied from interface:MultimapRemoves all key-value pairs from the multimap, leaving it empty.
-
createKeySet
java.util.Set<K> createKeySet()
- Specified by:
createKeySetin classAbstractMultimap<K,V>
-
createValues
java.util.Collection<V> createValues()
- Specified by:
createValuesin classAbstractMultimap<K,V>
-
entries
public java.util.Set<java.util.Map.Entry<K,V>> entries()
Description copied from interface:MultimapReturns a view collection of all key-value pairs contained in this multimap, asMap.Entryinstances.Changes to the returned collection or the entries it contains will update the underlying multimap, and vice versa. However, adding to the returned collection is not possible.
-
createEntries
java.util.Collection<java.util.Map.Entry<K,V>> createEntries()
- Specified by:
createEntriesin classAbstractMultimap<K,V>
-
createKeys
Multiset<K> createKeys()
- Specified by:
createKeysin classAbstractMultimap<K,V>
-
entryIterator
java.util.Iterator<java.util.Map.Entry<K,V>> entryIterator()
- Specified by:
entryIteratorin classAbstractMultimap<K,V>
-
createAsMap
java.util.Map<K,java.util.Collection<V>> createAsMap()
- Specified by:
createAsMapin classAbstractMultimap<K,V>
-
hashCode
public int hashCode()
Description copied from class:AbstractMultimapReturns the hash code for this multimap.The hash code of a multimap is defined as the hash code of the map view, as returned by
Multimap.asMap().
-
-