Externalizable
, Serializable
, ListMultimap<K,V>
, MutableListMultimap<K,V>
, Multimap<K,V>
, MutableMultimap<K,V>
, OrderedIterableMultimap<K,V>
, ReversibleIterableMultimap<K,V>
public final class SynchronizedPutFastListMultimap<K,V> extends AbstractSynchronizedPutMultimap<K,V,MutableList<V>> implements MutableListMultimap<K,V>, Externalizable
Constructor | Description |
---|---|
SynchronizedPutFastListMultimap() |
|
SynchronizedPutFastListMultimap(int initialCapacity) |
|
SynchronizedPutFastListMultimap(Iterable<Pair<K,V>> inputIterable) |
|
SynchronizedPutFastListMultimap(Multimap<? extends K,? extends V> multimap) |
|
SynchronizedPutFastListMultimap(Pair<K,V>... pairs) |
Modifier and Type | Method | Description |
---|---|---|
MutableListMultimap<K,V> |
asSynchronized() |
Returns a synchronized wrapper backed by this multimap.
|
<K2,V2> HashBagMultimap<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> HashBagMultimap<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> FastListMultimap<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. |
SynchronizedPutFastListMultimap<K,V> |
newEmpty() |
Creates a new instance of the same implementation type, using the default capacity and growth parameters.
|
static <K,V> SynchronizedPutFastListMultimap<K,V> |
newMultimap() |
|
static <K,V> SynchronizedPutFastListMultimap<K,V> |
newMultimap(int initialCapacity,
float loadFactor,
int concurrencyLevel) |
|
static <K,V> SynchronizedPutFastListMultimap<K,V> |
newMultimap(Iterable<Pair<K,V>> inputIterable) |
|
static <K,V> SynchronizedPutFastListMultimap<K,V> |
newMultimap(Multimap<? extends K,? extends V> multimap) |
|
static <K,V> SynchronizedPutFastListMultimap<K,V> |
newMultimap(Pair<K,V>... pairs) |
|
FastListMultimap<K,V> |
rejectKeysMultiValues(Predicate2<? super K,? super Iterable<V>> predicate) |
Returns all elements of the source multimap that don't satisfy the predicate.
|
FastListMultimap<K,V> |
rejectKeysValues(Predicate2<? super K,? super V> predicate) |
Returns all elements of the source multimap that don't satisfy the predicate.
|
FastListMultimap<K,V> |
selectKeysMultiValues(Predicate2<? super K,? super Iterable<V>> predicate) |
Returns all elements of the source multimap that satisfies the predicate.
|
FastListMultimap<K,V> |
selectKeysValues(Predicate2<? super K,? super V> predicate) |
Returns all elements of the source multimap that satisfies the predicate.
|
ImmutableListMultimap<K,V> |
toImmutable() |
Returns an immutable copy of this Multimap if it is not already immutable.
|
MutableListMultimap<K,V> |
toMutable() |
Returns a mutable copy of this Multimap.
|
collectKeyMultiValues, collectKeysValues, collectValues, containsKey, containsKeyAndValue, containsValue, equals, forEachKey, forEachKeyMultiValues, forEachKeyValue, forEachValue, hashCode, keyBag, keyMultiValuePairsView, keysView, keyValuePairsView, multiValuesView, notEmpty, rejectKeysMultiValues, rejectKeysValues, selectKeysMultiValues, selectKeysValues, toString, valuesView
clear, get, isEmpty, keySet, putAll, putAll, readExternal, remove, removeAll, replaceValues, sizeDistinct, toMap, toMap, writeExternal
getIfAbsentPutAll, put, size
readExternal, writeExternal
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
get, getIfAbsentPutAll, removeAll, replaceValues
add, clear, put, putAll, putAll, putAllPairs, putAllPairs, remove
public SynchronizedPutFastListMultimap()
public SynchronizedPutFastListMultimap(int initialCapacity)
public SynchronizedPutFastListMultimap(Multimap<? extends K,? extends V> multimap)
public static <K,V> SynchronizedPutFastListMultimap<K,V> newMultimap()
public static <K,V> SynchronizedPutFastListMultimap<K,V> newMultimap(int initialCapacity, float loadFactor, int concurrencyLevel)
public static <K,V> SynchronizedPutFastListMultimap<K,V> newMultimap(Multimap<? extends K,? extends V> multimap)
public static <K,V> SynchronizedPutFastListMultimap<K,V> newMultimap(Pair<K,V>... pairs)
public static <K,V> SynchronizedPutFastListMultimap<K,V> newMultimap(Iterable<Pair<K,V>> inputIterable)
public SynchronizedPutFastListMultimap<K,V> newEmpty()
Multimap
newEmpty
in interface ListMultimap<K,V>
newEmpty
in interface Multimap<K,V>
newEmpty
in interface MutableListMultimap<K,V>
newEmpty
in interface MutableMultimap<K,V>
newEmpty
in interface OrderedIterableMultimap<K,V>
newEmpty
in interface ReversibleIterableMultimap<K,V>
public MutableListMultimap<K,V> toMutable()
Multimap
public ImmutableListMultimap<K,V> toImmutable()
Multimap
The returned Multimap will be Serializable
if this Multimap is Serializable
.
toImmutable
in interface ListMultimap<K,V>
toImmutable
in interface Multimap<K,V>
public MutableBagMultimap<V,K> flip()
Multimap
->
Range return a multimap from Range ->
Domain.public FastListMultimap<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 ListMultimap<K,V>
selectKeysValues
in interface Multimap<K,V>
selectKeysValues
in interface MutableListMultimap<K,V>
selectKeysValues
in interface MutableMultimap<K,V>
selectKeysValues
in interface OrderedIterableMultimap<K,V>
selectKeysValues
in interface ReversibleIterableMultimap<K,V>
predicate
- a Predicate2
to use as the select criteriaMultimap
, which contains elements as a result of the select criteriapublic FastListMultimap<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 ListMultimap<K,V>
rejectKeysValues
in interface Multimap<K,V>
rejectKeysValues
in interface MutableListMultimap<K,V>
rejectKeysValues
in interface MutableMultimap<K,V>
rejectKeysValues
in interface OrderedIterableMultimap<K,V>
rejectKeysValues
in interface ReversibleIterableMultimap<K,V>
predicate
- a Predicate2
to use as the reject criteriaMultimap
, which contains elements that don't satisfy the predicate
public FastListMultimap<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 ListMultimap<K,V>
selectKeysMultiValues
in interface Multimap<K,V>
selectKeysMultiValues
in interface MutableListMultimap<K,V>
selectKeysMultiValues
in interface MutableMultimap<K,V>
selectKeysMultiValues
in interface OrderedIterableMultimap<K,V>
selectKeysMultiValues
in interface ReversibleIterableMultimap<K,V>
predicate
- a Predicate2
to use as the select criteriaMultimap
, which contains elements as a result of the select criteriapublic FastListMultimap<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 ListMultimap<K,V>
rejectKeysMultiValues
in interface Multimap<K,V>
rejectKeysMultiValues
in interface MutableListMultimap<K,V>
rejectKeysMultiValues
in interface MutableMultimap<K,V>
rejectKeysMultiValues
in interface OrderedIterableMultimap<K,V>
rejectKeysMultiValues
in interface ReversibleIterableMultimap<K,V>
predicate
- a Predicate2
to use as the reject criteriaMultimap
, which contains elements that don't satisfy the predicate
public <K2,V2> HashBagMultimap<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 ListMultimap<K,V>
collectKeysValues
in interface Multimap<K,V>
collectKeysValues
in interface MutableListMultimap<K,V>
collectKeysValues
in interface MutableMultimap<K,V>
collectKeysValues
in interface OrderedIterableMultimap<K,V>
function
- a Function2
to use for transformationMultimap
, which contains elements as a result of the transformationpublic <K2,V2> HashBagMultimap<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 ListMultimap<K,V>
collectKeyMultiValues
in interface Multimap<K,V>
collectKeyMultiValues
in interface MutableListMultimap<K,V>
collectKeyMultiValues
in interface MutableMultimap<K,V>
collectKeyMultiValues
in interface OrderedIterableMultimap<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> FastListMultimap<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 ListMultimap<K,V>
collectValues
in interface Multimap<K,V>
collectValues
in interface MutableListMultimap<K,V>
collectValues
in interface MutableMultimap<K,V>
collectValues
in interface OrderedIterableMultimap<K,V>
collectValues
in interface ReversibleIterableMultimap<K,V>
function
- a Function
to use for transformationMultimap
, which contains elements as a result of the transformationpublic MutableListMultimap<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 MutableListMultimap<K,V>
asSynchronized
in interface MutableMultimap<K,V>
MutableMapIterable.asSynchronized()
Copyright © 2004–2019. All rights reserved.