public class SynchronizedBagMultimap<K,V> extends AbstractSynchronizedMultimap<K,V> implements MutableBagMultimap<K,V>, Serializable
| Constructor and Description |
|---|
SynchronizedBagMultimap(MutableBagMultimap<K,V> multimap) |
SynchronizedBagMultimap(MutableBagMultimap<K,V> multimap,
Object newLock) |
| Modifier and Type | Method and Description |
|---|---|
MutableBagMultimap<K,V> |
asSynchronized()
Returns a synchronized (thread-safe) multimap 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.
|
MutableBagMultimap<V,K> |
flip()
Given a Multimap from Domain -> Range return a multimap from Range -> Domain.
|
MutableBag<V> |
get(K key)
Returns a view of all values associated with the given key.
|
MutableBagMultimap<K,V> |
newEmpty()
Creates a new instance of the same implementation type, using the default capacity and growth parameters.
|
static <K,V> SynchronizedBagMultimap<K,V> |
of(MutableBagMultimap<K,V> multimap)
This method will take a Multimap and wrap it directly in a SynchronizedBagMultimap.
|
static <K,V> SynchronizedBagMultimap<K,V> |
of(MutableBagMultimap<K,V> multimap,
Object lock)
This method will take a Multimap and wrap it directly in a SynchronizedBagMultimap.
|
void |
putOccurrences(K key,
V value,
int occurrences) |
MutableBagMultimap<K,V> |
rejectKeysMultiValues(Predicate2<? super K,? super Iterable<V>> predicate)
Returns all elements of the source multimap that don't satisfy the predicate.
|
MutableBagMultimap<K,V> |
rejectKeysValues(Predicate2<? super K,? super V> predicate)
Returns all elements of the source multimap that don't satisfy the predicate.
|
MutableBag<V> |
removeAll(Object key) |
MutableBag<V> |
replaceValues(K key,
Iterable<? extends V> values) |
MutableBagMultimap<K,V> |
selectKeysMultiValues(Predicate2<? super K,? super Iterable<V>> predicate)
Returns all elements of the source multimap that satisfies the predicate.
|
MutableBagMultimap<K,V> |
selectKeysValues(Predicate2<? super K,? super V> predicate)
Returns all elements of the source multimap that satisfies the predicate.
|
ImmutableBagMultimap<K,V> |
toImmutable()
Returns an immutable copy of this Multimap if it is not already immutable.
|
MutableBagMultimap<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, valuesViewadd, clear, put, putAll, putAll, putAllPairs, putAllPairs, removecollectKeysValues, 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, valuesViewpublic SynchronizedBagMultimap(MutableBagMultimap<K,V> multimap)
public SynchronizedBagMultimap(MutableBagMultimap<K,V> multimap, Object newLock)
public static <K,V> SynchronizedBagMultimap<K,V> of(MutableBagMultimap<K,V> multimap)
public static <K,V> SynchronizedBagMultimap<K,V> of(MutableBagMultimap<K,V> multimap, Object lock)
public MutableBag<V> replaceValues(K key, Iterable<? extends V> values)
replaceValues in interface MutableBagIterableMultimap<K,V>replaceValues in interface MutableBagMultimap<K,V>replaceValues in interface MutableMultimap<K,V>public MutableBag<V> removeAll(Object key)
removeAll in interface MutableBagIterableMultimap<K,V>removeAll in interface MutableBagMultimap<K,V>removeAll in interface MutableMultimap<K,V>public MutableBagMultimap<K,V> newEmpty()
MultimapnewEmpty in interface BagMultimap<K,V>newEmpty in interface MutableBagIterableMultimap<K,V>newEmpty in interface MutableBagMultimap<K,V>newEmpty in interface UnsortedBagMultimap<K,V>newEmpty in interface Multimap<K,V>newEmpty in interface MutableMultimap<K,V>public MutableBag<V> get(K key)
Multimap
If the given key does not exist, an empty RichIterable is returned.
get in interface BagMultimap<K,V>get in interface MutableBagIterableMultimap<K,V>get in interface MutableBagMultimap<K,V>get in interface UnsortedBagMultimap<K,V>get in interface Multimap<K,V>get in interface MutableMultimap<K,V>key - the key to search forpublic MutableBagMultimap<K,V> toMutable()
Multimappublic ImmutableBagMultimap<K,V> toImmutable()
Multimap
The returned Multimap will be Serializable if this Multimap is Serializable.
toImmutable in interface UnsortedBagMultimap<K,V>toImmutable in interface Multimap<K,V>public void putOccurrences(K key, V value, int occurrences)
putOccurrences in interface MutableBagMultimap<K,V>public MutableBagMultimap<V,K> flip()
Multimapflip in interface BagMultimap<K,V>flip in interface MutableBagIterableMultimap<K,V>flip in interface MutableBagMultimap<K,V>flip in interface Multimap<K,V>flip in interface MutableMultimap<K,V>public MutableBagMultimap<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 BagMultimap<K,V>selectKeysValues in interface MutableBagIterableMultimap<K,V>selectKeysValues in interface MutableBagMultimap<K,V>selectKeysValues in interface UnsortedBagMultimap<K,V>selectKeysValues in interface Multimap<K,V>selectKeysValues in interface MutableMultimap<K,V>predicate - a Predicate2 to use as the select criteriaMultimap, which contains elements as a result of the select criteriapublic MutableBagMultimap<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 BagMultimap<K,V>rejectKeysValues in interface MutableBagIterableMultimap<K,V>rejectKeysValues in interface MutableBagMultimap<K,V>rejectKeysValues in interface UnsortedBagMultimap<K,V>rejectKeysValues in interface Multimap<K,V>rejectKeysValues in interface MutableMultimap<K,V>predicate - a Predicate2 to use as the reject criteriaMultimap, which contains elements that don't satisfy the predicatepublic MutableBagMultimap<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 BagMultimap<K,V>selectKeysMultiValues in interface MutableBagIterableMultimap<K,V>selectKeysMultiValues in interface MutableBagMultimap<K,V>selectKeysMultiValues in interface UnsortedBagMultimap<K,V>selectKeysMultiValues in interface Multimap<K,V>selectKeysMultiValues in interface MutableMultimap<K,V>predicate - a Predicate2 to use as the select criteriaMultimap, which contains elements as a result of the select criteriapublic MutableBagMultimap<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 BagMultimap<K,V>rejectKeysMultiValues in interface MutableBagIterableMultimap<K,V>rejectKeysMultiValues in interface MutableBagMultimap<K,V>rejectKeysMultiValues in interface UnsortedBagMultimap<K,V>rejectKeysMultiValues in interface Multimap<K,V>rejectKeysMultiValues in interface MutableMultimap<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 MutableBagIterableMultimap<K,V>collectKeysValues in interface MutableBagMultimap<K,V>collectKeysValues in interface UnsortedBagMultimap<K,V>collectKeysValues in interface Multimap<K,V>collectKeysValues in interface MutableMultimap<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 MutableBagIterableMultimap<K,V>collectValues in interface MutableBagMultimap<K,V>collectValues in interface UnsortedBagMultimap<K,V>collectValues in interface Multimap<K,V>collectValues in interface MutableMultimap<K,V>function - a Function to use for transformationMultimap, which contains elements as a result of the transformationpublic MutableBagMultimap<K,V> asSynchronized()
MutableMultimapThe returned multimap does not pass the hashCode and equals operations through to the backing multimap, but relies on Object's equals and hashCode methods. This is necessary to preserve the contracts of these operations.
The returned multimap will be serializable if this multimap is serializable.
asSynchronized in interface MutableBagIterableMultimap<K,V>asSynchronized in interface MutableBagMultimap<K,V>asSynchronized in interface MutableMultimap<K,V>Copyright © 2004–2016. All rights reserved.