java.io.Serializable, Multimap<K,V>, MutableMultimap<K,V>, MutableSetIterableMultimap<K,V>, MutableSetMultimap<K,V>, SetMultimap<K,V>, UnsortedSetMultimap<K,V>public class SynchronizedSetMultimap<K,V> extends AbstractSynchronizedMultimap<K,V> implements MutableSetMultimap<K,V>, java.io.Serializable
| Constructor | Description |
|---|---|
SynchronizedSetMultimap(MutableSetMultimap<K,V> multimap) |
|
SynchronizedSetMultimap(MutableSetMultimap<K,V> multimap,
java.lang.Object newLock) |
| Modifier and Type | Method | Description |
|---|---|---|
MutableSetMultimap<K,V> |
asSynchronized() |
Returns a synchronized wrapper backed by this multimap.
|
<K2,V2> MutableBagMultimap<K2,V2> |
collectKeysValues(Function2<? super K,? super V,Pair<K2,V2>> function) |
Returns a new multimap with the results of applying the specified function on each key and value of the source
multimap.
|
<V2> MutableBagMultimap<K,V2> |
collectValues(Function<? super V,? extends V2> function) |
Returns a new multimap with the results of applying the specified function on each value of the source
multimap.
|
MutableSetMultimap<V,K> |
flip() |
Given a Multimap from Domain -> Range return a multimap from Range -> Domain.
|
MutableSet<V> |
get(K key) |
Returns a view of all values associated with the given key.
|
MutableSetMultimap<K,V> |
newEmpty() |
Creates a new instance of the same implementation type, using the default capacity and growth parameters.
|
static <K,V> SynchronizedSetMultimap<K,V> |
of(MutableSetMultimap<K,V> multimap) |
This method will take a Multimap and wrap it directly in a SynchronizedSetMultimap.
|
static <K,V> SynchronizedSetMultimap<K,V> |
of(MutableSetMultimap<K,V> multimap,
java.lang.Object lock) |
This method will take a Multimap and wrap it directly in a SynchronizedSetMultimap.
|
MutableSetMultimap<K,V> |
rejectKeysMultiValues(Predicate2<? super K,? super java.lang.Iterable<V>> predicate) |
Returns all elements of the source multimap that don't satisfy the predicate.
|
MutableSetMultimap<K,V> |
rejectKeysValues(Predicate2<? super K,? super V> predicate) |
Returns all elements of the source multimap that don't satisfy the predicate.
|
MutableSet<V> |
removeAll(java.lang.Object key) |
|
MutableSet<V> |
replaceValues(K key,
java.lang.Iterable<? extends V> values) |
|
MutableSetMultimap<K,V> |
selectKeysMultiValues(Predicate2<? super K,? super java.lang.Iterable<V>> predicate) |
Returns all elements of the source multimap that satisfies the predicate.
|
MutableSetMultimap<K,V> |
selectKeysValues(Predicate2<? super K,? super V> predicate) |
Returns all elements of the source multimap that satisfies the predicate.
|
ImmutableSetMultimap<K,V> |
toImmutable() |
Returns an immutable copy of this Multimap if it is not already immutable.
|
MutableSetMultimap<K,V> |
toMutable() |
Returns a mutable copy of this Multimap.
|
add, clear, collectKeysValues, collectValues, containsKey, containsKeyAndValue, containsValue, equals, forEachKey, forEachKeyMultiValues, forEachKeyValue, forEachValue, hashCode, isEmpty, keyBag, keyMultiValuePairsView, keySet, keysView, keyValuePairsView, multiValuesView, notEmpty, put, putAll, putAll, putAllPairs, putAllPairs, rejectKeysMultiValues, rejectKeysValues, remove, selectKeysMultiValues, selectKeysValues, size, sizeDistinct, toMap, toMap, toString, valuesViewcollectKeysValues, collectValues, containsKey, containsKeyAndValue, containsValue, equals, forEachKey, forEachKeyMultiValues, forEachKeyValue, forEachValue, hashCode, isEmpty, keyBag, keyMultiValuePairsView, keySet, keysView, keyValuePairsView, multiValuesView, notEmpty, rejectKeysMultiValues, rejectKeysValues, selectKeysMultiValues, selectKeysValues, size, sizeDistinct, toMap, toMap, valuesViewadd, clear, put, putAll, putAll, putAllPairs, putAllPairs, removepublic SynchronizedSetMultimap(MutableSetMultimap<K,V> multimap)
public SynchronizedSetMultimap(MutableSetMultimap<K,V> multimap, java.lang.Object newLock)
public static <K,V> SynchronizedSetMultimap<K,V> of(MutableSetMultimap<K,V> multimap)
public static <K,V> SynchronizedSetMultimap<K,V> of(MutableSetMultimap<K,V> multimap, java.lang.Object lock)
public MutableSet<V> replaceValues(K key, java.lang.Iterable<? extends V> values)
replaceValues in interface MutableMultimap<K,V>replaceValues in interface MutableSetIterableMultimap<K,V>replaceValues in interface MutableSetMultimap<K,V>public MutableSet<V> removeAll(java.lang.Object key)
removeAll in interface MutableMultimap<K,V>removeAll in interface MutableSetIterableMultimap<K,V>removeAll in interface MutableSetMultimap<K,V>public MutableSetMultimap<K,V> newEmpty()
MultimapnewEmpty in interface Multimap<K,V>newEmpty in interface MutableMultimap<K,V>newEmpty in interface MutableSetIterableMultimap<K,V>newEmpty in interface MutableSetMultimap<K,V>newEmpty in interface SetMultimap<K,V>newEmpty in interface UnsortedSetMultimap<K,V>public MutableSet<V> get(K key)
Multimap
If the given key does not exist, an empty RichIterable is returned.
get in interface Multimap<K,V>get in interface MutableMultimap<K,V>get in interface MutableSetIterableMultimap<K,V>get in interface MutableSetMultimap<K,V>get in interface SetMultimap<K,V>get in interface UnsortedSetMultimap<K,V>key - the key to search forpublic MutableSetMultimap<K,V> toMutable()
Multimappublic ImmutableSetMultimap<K,V> toImmutable()
Multimap
The returned Multimap will be Serializable if this Multimap is Serializable.
toImmutable in interface Multimap<K,V>toImmutable in interface UnsortedSetMultimap<K,V>public MutableSetMultimap<V,K> flip()
Multimapflip in interface Multimap<K,V>flip in interface MutableMultimap<K,V>flip in interface MutableSetIterableMultimap<K,V>flip in interface MutableSetMultimap<K,V>flip in interface SetMultimap<K,V>public MutableSetMultimap<K,V> selectKeysValues(Predicate2<? super K,? super V> predicate)
Multimap
e.g.
return multimap.selectKeysValues(new Predicate2<Integer, Person>()
{
public boolean accept(Integer age, Person person)
{
return (age >= 18)
&& (person.getAddress().getCity().equals("Metuchen"));
}
});
selectKeysValues in interface Multimap<K,V>selectKeysValues in interface MutableMultimap<K,V>selectKeysValues in interface MutableSetIterableMultimap<K,V>selectKeysValues in interface MutableSetMultimap<K,V>selectKeysValues in interface SetMultimap<K,V>selectKeysValues in interface UnsortedSetMultimap<K,V>predicate - a Predicate2 to use as the select criteriaMultimap, which contains elements as a result of the select criteriapublic MutableSetMultimap<K,V> rejectKeysValues(Predicate2<? super K,? super V> predicate)
Multimap
e.g.
return multimap.rejectKeysValues(new Predicate2<Integer, Person>()
{
public boolean accept(Integer age, Person person)
{
return (age >= 18)
&& (person.getAddress().getCity().equals("Metuchen"));
}
});
rejectKeysValues in interface Multimap<K,V>rejectKeysValues in interface MutableMultimap<K,V>rejectKeysValues in interface MutableSetIterableMultimap<K,V>rejectKeysValues in interface MutableSetMultimap<K,V>rejectKeysValues in interface SetMultimap<K,V>rejectKeysValues in interface UnsortedSetMultimap<K,V>predicate - a Predicate2 to use as the reject criteriaMultimap, which contains elements that don't satisfy the predicatepublic MutableSetMultimap<K,V> selectKeysMultiValues(Predicate2<? super K,? super java.lang.Iterable<V>> predicate)
Multimap
e.g.
return multimap.selectKeysMultiValues(new Predicate2<Integer, Iterable<Person>>()
{
public boolean accept(Integer age, Iterable<Person> values)
{
return (age >= 18)
&& ((RichIterable<Person>)values.size() >= 2);
}
});
selectKeysMultiValues in interface Multimap<K,V>selectKeysMultiValues in interface MutableMultimap<K,V>selectKeysMultiValues in interface MutableSetIterableMultimap<K,V>selectKeysMultiValues in interface MutableSetMultimap<K,V>selectKeysMultiValues in interface SetMultimap<K,V>selectKeysMultiValues in interface UnsortedSetMultimap<K,V>predicate - a Predicate2 to use as the select criteriaMultimap, which contains elements as a result of the select criteriapublic MutableSetMultimap<K,V> rejectKeysMultiValues(Predicate2<? super K,? super java.lang.Iterable<V>> predicate)
Multimap
e.g.
return multimap.rejectKeysMultiValues(new Predicate2<Integer, Iterable<Person>>()
{
public boolean accept(Integer age, Iterable<Person> values)
{
return (age >= 18)
&& ((RichIterable<Person>)values.size() >= 2);
}
});
rejectKeysMultiValues in interface Multimap<K,V>rejectKeysMultiValues in interface MutableMultimap<K,V>rejectKeysMultiValues in interface MutableSetIterableMultimap<K,V>rejectKeysMultiValues in interface MutableSetMultimap<K,V>rejectKeysMultiValues in interface SetMultimap<K,V>rejectKeysMultiValues in interface UnsortedSetMultimap<K,V>predicate - a Predicate2 to use as the reject criteriaMultimap, which contains elements that don't satisfy the predicatepublic <K2,V2> MutableBagMultimap<K2,V2> collectKeysValues(Function2<? super K,? super V,Pair<K2,V2>> function)
Multimap
e.g.
return multimap.collectKeysValues(new Function2<Integer, Person, Pair<String, String>>()
{
public Pair<String, String> valueOf(Integer age, Person person)
{
return Tuples.pair(age.toString(), person.getLastName());
}
});
collectKeysValues in interface Multimap<K,V>collectKeysValues in interface MutableMultimap<K,V>collectKeysValues in interface MutableSetIterableMultimap<K,V>collectKeysValues in interface MutableSetMultimap<K,V>collectKeysValues in interface UnsortedSetMultimap<K,V>function - a Function2 to use for transformationMultimap, which contains elements as a result of the transformationpublic <V2> MutableBagMultimap<K,V2> collectValues(Function<? super V,? extends V2> function)
Multimap
e.g.
return multimap.collectValues(new Function<Person, String>()
{
public String valueOf(Person person)
{
return person.getLastName();
}
});
collectValues in interface Multimap<K,V>collectValues in interface MutableMultimap<K,V>collectValues in interface MutableSetIterableMultimap<K,V>collectValues in interface MutableSetMultimap<K,V>collectValues in interface UnsortedSetMultimap<K,V>function - a Function to use for transformationMultimap, which contains elements as a result of the transformationpublic MutableSetMultimap<K,V> asSynchronized()
MutableMultimapMutableMultimap synchedMultimap = multimap.asSynchronized(); synchedMultimap.forEachKey(key -> ... ); synchedMultimap.forEachValue(value -> ... ); synchedMultimap.forEachKeyValue((key, value) -> ... ); synchedMultimap.forEachKeyMultiValues((key, values) -> ... );
If you want to iterate imperatively over the keySet(), keysView(), valuesView(), or other views, you will need to protect the iteration by wrapping the code in a synchronized block on the multimap.
asSynchronized in interface MutableMultimap<K,V>asSynchronized in interface MutableSetIterableMultimap<K,V>asSynchronized in interface MutableSetMultimap<K,V>MutableMapIterable.asSynchronized()Copyright © 2004–2017. All rights reserved.