@GwtCompatible public interface SetMultimap<K,V> extends Multimap<K,V>
Multimap
that cannot hold duplicate key-value pairs. Adding a
key-value pair that's already in the multimap has no effect.
The get(K)
, removeAll(java.lang.Object)
, and replaceValues(K, java.lang.Iterable<? extends V>)
methods
each return a Set
of values, while entries()
returns a Set
of map entries. Though the method signature doesn't say so explicitly,
the map returned by asMap()
has Set
values.
Modifier and Type | Method and Description |
---|---|
Map<K,Collection<V>> |
asMap()
Returns a map view that associates each key with the corresponding values
in the multimap.
|
Set<Map.Entry<K,V>> |
entries()
Returns a collection of all key-value pairs.
|
boolean |
equals(Object obj)
Compares the specified object to this multimap for equality.
|
Set<V> |
get(K key)
Returns a collection view of all values associated with a key.
|
Set<V> |
removeAll(Object key)
Removes all values associated with a given key.
|
Set<V> |
replaceValues(K key,
Iterable<? extends V> values)
Stores a collection of values with the same key, replacing any existing
values for that key.
|
clear, containsEntry, containsKey, containsValue, hashCode, isEmpty, keys, keySet, put, putAll, putAll, remove, size, values
Set<V> get(@Nullable K key)
Changes to the returned collection will update the underlying multimap, and vice versa.
Because a SetMultimap
has unique values for a given key, this
method returns a Set
, instead of the Collection
specified in the Multimap
interface.
Set<V> removeAll(@Nullable Object key)
Because a SetMultimap
has unique values for a given key, this
method returns a Set
, instead of the Collection
specified in the Multimap
interface.
removeAll
in interface Multimap<K,V>
key
- key of entries to remove from the multimapSet<V> replaceValues(K key, Iterable<? extends V> values)
Because a SetMultimap
has unique values for a given key, this
method returns a Set
, instead of the Collection
specified in the Multimap
interface.
Any duplicates in values
will be stored in the multimap once.
replaceValues
in interface Multimap<K,V>
key
- key to store in the multimapvalues
- values to store in the multimapSet<Map.Entry<K,V>> entries()
add
or addAll
operations.
Because a SetMultimap
has unique values for a given key, this
method returns a Set
, instead of the Collection
specified in the Multimap
interface.
Map<K,Collection<V>> asMap()
setValue()
on its entries, put
, or putAll
.
When passed a key that is present in the map, asMap().get(Object)
has the same behavior as Multimap.get(K)
, returning a
live collection. When passed a key that is not present, however, asMap().get(Object)
returns null
instead of an empty collection.
Though the method signature doesn't say so explicitly, the returned map
has Set
values.
boolean equals(@Nullable Object obj)
Two SetMultimap
instances are equal if, for each key, they
contain the same values. Equality does not depend on the ordering of keys
or values.
Copyright © 2010-2012. All Rights Reserved.