Serializable
, Multimap<K,V>
, MutableMultimap<K,V>
, OrderedIterableMultimap<K,V>
, ReversibleIterableMultimap<K,V>
, SortedIterableMultimap<K,V>
, MutableSetIterableMultimap<K,V>
, SetMultimap<K,V>
, MutableSortedSetMultimap<K,V>
, SortedSetMultimap<K,V>
public class SynchronizedSortedSetMultimap<K,V> extends AbstractSynchronizedMultimap<K,V> implements MutableSortedSetMultimap<K,V>, Serializable
Constructor | Description |
---|---|
SynchronizedSortedSetMultimap(MutableSortedSetMultimap<K,V> multimap) |
|
SynchronizedSortedSetMultimap(MutableSortedSetMultimap<K,V> multimap,
Object newLock) |
Modifier and Type | Method | Description |
---|---|---|
MutableSortedSetMultimap<K,V> |
asSynchronized() |
Returns a synchronized wrapper backed by this multimap.
|
<K2,V2> MutableBagMultimap<K2,V2> |
collectKeyMultiValues(Function<? super K,? extends K2> keyFunction,
Function<? super V,? extends V2> valueFunction) |
Returns a new multimap with the results of applying the specified keyFunction and valueFunction on each key and corresponding values of the source 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> MutableListMultimap<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.
|
Comparator<? super V> |
comparator() |
|
MutableSetMultimap<V,K> |
flip() |
Given a Multimap from Domain
-> Range return a multimap from Range -> Domain. |
MutableSortedSet<V> |
get(K key) |
Returns a view of all values associated with the given key.
|
MutableSortedSet<V> |
getIfAbsentPutAll(K key,
Iterable<? extends V> values) |
Puts values into multimap if there are no values already associated with key.
|
MutableSortedSetMultimap<K,V> |
newEmpty() |
Creates a new instance of the same implementation type, using the default capacity and growth parameters.
|
static <K,V> SynchronizedSortedSetMultimap<K,V> |
of(MutableSortedSetMultimap<K,V> multimap) |
This method will take a Multimap and wrap it directly in a SynchronizedSortedSetMultimap.
|
static <K,V> SynchronizedSortedSetMultimap<K,V> |
of(MutableSortedSetMultimap<K,V> multimap,
Object lock) |
This method will take a Multimap and wrap it directly in a SynchronizedSortedSetMultimap.
|
MutableSortedSetMultimap<K,V> |
rejectKeysMultiValues(Predicate2<? super K,? super Iterable<V>> predicate) |
Returns all elements of the source multimap that don't satisfy the predicate.
|
MutableSortedSetMultimap<K,V> |
rejectKeysValues(Predicate2<? super K,? super V> predicate) |
Returns all elements of the source multimap that don't satisfy the predicate.
|
MutableSortedSet<V> |
removeAll(Object key) |
|
MutableSortedSet<V> |
replaceValues(K key,
Iterable<? extends V> values) |
|
MutableSortedSetMultimap<K,V> |
selectKeysMultiValues(Predicate2<? super K,? super Iterable<V>> predicate) |
Returns all elements of the source multimap that satisfies the predicate.
|
MutableSortedSetMultimap<K,V> |
selectKeysValues(Predicate2<? super K,? super V> predicate) |
Returns all elements of the source multimap that satisfies the predicate.
|
ImmutableSortedSetMultimap<K,V> |
toImmutable() |
Returns an immutable copy of this Multimap if it is not already immutable.
|
MutableSortedSetMultimap<K,V> |
toMutable() |
Returns a mutable copy of this Multimap.
|
add, clear, collectKeyMultiValues, 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, valuesView
collectKeyMultiValues, collectKeysValues, 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, valuesView
add, clear, put, putAll, putAll, putAllPairs, putAllPairs, remove
public SynchronizedSortedSetMultimap(MutableSortedSetMultimap<K,V> multimap)
public SynchronizedSortedSetMultimap(MutableSortedSetMultimap<K,V> multimap, Object newLock)
public static <K,V> SynchronizedSortedSetMultimap<K,V> of(MutableSortedSetMultimap<K,V> multimap)
public static <K,V> SynchronizedSortedSetMultimap<K,V> of(MutableSortedSetMultimap<K,V> multimap, Object lock)
public MutableSortedSet<V> replaceValues(K key, Iterable<? extends V> values)
replaceValues
in interface MutableMultimap<K,V>
replaceValues
in interface MutableSetIterableMultimap<K,V>
replaceValues
in interface MutableSortedSetMultimap<K,V>
public MutableSortedSet<V> removeAll(Object key)
removeAll
in interface MutableMultimap<K,V>
removeAll
in interface MutableSetIterableMultimap<K,V>
removeAll
in interface MutableSortedSetMultimap<K,V>
public MutableSortedSetMultimap<K,V> newEmpty()
Multimap
newEmpty
in interface Multimap<K,V>
newEmpty
in interface MutableMultimap<K,V>
newEmpty
in interface MutableSetIterableMultimap<K,V>
newEmpty
in interface MutableSortedSetMultimap<K,V>
newEmpty
in interface OrderedIterableMultimap<K,V>
newEmpty
in interface ReversibleIterableMultimap<K,V>
newEmpty
in interface SetMultimap<K,V>
newEmpty
in interface SortedIterableMultimap<K,V>
newEmpty
in interface SortedSetMultimap<K,V>
public MutableSortedSet<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 MutableSortedSetMultimap<K,V>
get
in interface OrderedIterableMultimap<K,V>
get
in interface ReversibleIterableMultimap<K,V>
get
in interface SetMultimap<K,V>
get
in interface SortedIterableMultimap<K,V>
get
in interface SortedSetMultimap<K,V>
key
- the key to search forpublic MutableSortedSet<V> getIfAbsentPutAll(K key, Iterable<? extends V> values)
MutableMultimap
Multimap.get(Object)
getIfAbsentPutAll
in interface MutableMultimap<K,V>
getIfAbsentPutAll
in interface MutableSetIterableMultimap<K,V>
getIfAbsentPutAll
in interface MutableSortedSetMultimap<K,V>
public Comparator<? super V> comparator()
comparator
in interface SortedIterableMultimap<K,V>
public MutableSortedSetMultimap<K,V> toMutable()
Multimap
public ImmutableSortedSetMultimap<K,V> toImmutable()
Multimap
The returned Multimap will be Serializable
if this Multimap is Serializable
.
toImmutable
in interface Multimap<K,V>
toImmutable
in interface SortedSetMultimap<K,V>
public MutableSetMultimap<V,K> flip()
Multimap
->
Range return a multimap from Range ->
Domain.flip
in interface Multimap<K,V>
flip
in interface MutableMultimap<K,V>
flip
in interface MutableSetIterableMultimap<K,V>
flip
in interface MutableSortedSetMultimap<K,V>
flip
in interface SetMultimap<K,V>
public MutableSortedSetMultimap<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 MutableSortedSetMultimap<K,V>
selectKeysValues
in interface OrderedIterableMultimap<K,V>
selectKeysValues
in interface ReversibleIterableMultimap<K,V>
selectKeysValues
in interface SetMultimap<K,V>
selectKeysValues
in interface SortedIterableMultimap<K,V>
selectKeysValues
in interface SortedSetMultimap<K,V>
predicate
- a Predicate2
to use as the select criteriaMultimap
, which contains elements as a result of the select criteriapublic MutableSortedSetMultimap<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 MutableSortedSetMultimap<K,V>
rejectKeysValues
in interface OrderedIterableMultimap<K,V>
rejectKeysValues
in interface ReversibleIterableMultimap<K,V>
rejectKeysValues
in interface SetMultimap<K,V>
rejectKeysValues
in interface SortedIterableMultimap<K,V>
rejectKeysValues
in interface SortedSetMultimap<K,V>
predicate
- a Predicate2
to use as the reject criteriaMultimap
, which contains elements that don't satisfy the predicate
public MutableSortedSetMultimap<K,V> selectKeysMultiValues(Predicate2<? super K,? super 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 MutableSortedSetMultimap<K,V>
selectKeysMultiValues
in interface OrderedIterableMultimap<K,V>
selectKeysMultiValues
in interface ReversibleIterableMultimap<K,V>
selectKeysMultiValues
in interface SetMultimap<K,V>
selectKeysMultiValues
in interface SortedIterableMultimap<K,V>
selectKeysMultiValues
in interface SortedSetMultimap<K,V>
predicate
- a Predicate2
to use as the select criteriaMultimap
, which contains elements as a result of the select criteriapublic MutableSortedSetMultimap<K,V> rejectKeysMultiValues(Predicate2<? super K,? super 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 MutableSortedSetMultimap<K,V>
rejectKeysMultiValues
in interface OrderedIterableMultimap<K,V>
rejectKeysMultiValues
in interface ReversibleIterableMultimap<K,V>
rejectKeysMultiValues
in interface SetMultimap<K,V>
rejectKeysMultiValues
in interface SortedIterableMultimap<K,V>
rejectKeysMultiValues
in interface SortedSetMultimap<K,V>
predicate
- a Predicate2
to use as the reject criteriaMultimap
, which contains elements that don't satisfy the predicate
public <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 MutableSortedSetMultimap<K,V>
collectKeysValues
in interface OrderedIterableMultimap<K,V>
collectKeysValues
in interface SortedSetMultimap<K,V>
function
- a Function2
to use for transformationMultimap
, which contains elements as a result of the transformationpublic <K2,V2> MutableBagMultimap<K2,V2> collectKeyMultiValues(Function<? super K,? extends K2> keyFunction, Function<? super V,? extends V2> valueFunction)
Multimap
e.g. return multimap.collectKeyMultiValues(each -> each + 1, Person::getLastName);
collectKeyMultiValues
in interface Multimap<K,V>
collectKeyMultiValues
in interface MutableMultimap<K,V>
collectKeyMultiValues
in interface MutableSetIterableMultimap<K,V>
collectKeyMultiValues
in interface MutableSortedSetMultimap<K,V>
collectKeyMultiValues
in interface OrderedIterableMultimap<K,V>
collectKeyMultiValues
in interface SortedSetMultimap<K,V>
keyFunction
- Function
to use transformation to get the keyvalueFunction
- Function
to use transformation to get the valuesMultimap
, which contains elements as a result of the transformationpublic <V2> MutableListMultimap<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 MutableSortedSetMultimap<K,V>
collectValues
in interface OrderedIterableMultimap<K,V>
collectValues
in interface ReversibleIterableMultimap<K,V>
collectValues
in interface SortedIterableMultimap<K,V>
collectValues
in interface SortedSetMultimap<K,V>
function
- a Function
to use for transformationMultimap
, which contains elements as a result of the transformationpublic MutableSortedSetMultimap<K,V> asSynchronized()
MutableMultimap
MutableMultimap 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 MutableSortedSetMultimap<K,V>
MutableMapIterable.asSynchronized()
Copyright © 2004–2019. All rights reserved.