Multimap<K,V>
MutableBagIterableMultimap<K,V>
, MutableBagMultimap<K,V>
, MutableListMultimap<K,V>
, MutableSetIterableMultimap<K,V>
, MutableSetMultimap<K,V>
, MutableSortedBagMultimap<K,V>
, MutableSortedSetMultimap<K,V>
AbstractMutableBagMultimap
, AbstractMutableListMultimap
, AbstractMutableMultimap
, AbstractMutableSetMultimap
, AbstractSynchronizedMultimap
, AbstractSynchronizedPutMultimap
, FastListMultimap
, HashBagMultimap
, HashBagMultimapWithHashingStrategy
, MultiReaderFastListMultimap
, MultiReaderHashBagMultimap
, MultiReaderUnifiedSetMultimap
, SynchronizedBagMultimap
, SynchronizedListMultimap
, SynchronizedPutFastListMultimap
, SynchronizedPutHashBagMultimap
, SynchronizedPutTreeSortedSetMultimap
, SynchronizedPutUnifiedSetMultimap
, SynchronizedSetMultimap
, SynchronizedSortedBagMultimap
, SynchronizedSortedSetMultimap
, TreeBagMultimap
, TreeBagMultimap
, TreeBagMultimap
, TreeSortedSetMultimap
, UnifiedSetMultimap
, UnifiedSetWithHashingStrategyMultimap
public interface MutableMultimap<K,V> extends Multimap<K,V>
Modifier and Type | Method | Description |
---|---|---|
default boolean |
add(Pair<? extends K,? extends V> keyValuePair) |
Modification operation similar to put, however, takes the key-value pair as the input.
|
MutableMultimap<K,V> |
asSynchronized() |
Returns a synchronized wrapper backed by this multimap.
|
void |
clear() |
|
<K2,V2> MutableMultimap<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> MutableMultimap<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> MutableMultimap<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.
|
MutableMultimap<V,K> |
flip() |
Given a Multimap from Domain
-> Range return a multimap from Range -> Domain. |
MutableCollection<V> |
get(K key) |
Returns a view of all values associated with the given key.
|
MutableCollection<V> |
getIfAbsentPutAll(K key,
java.lang.Iterable<? extends V> values) |
Puts values into multimap if there are no values already associated with key.
|
MutableMultimap<K,V> |
newEmpty() |
Creates a new instance of the same implementation type, using the default capacity and growth parameters.
|
boolean |
put(K key,
V value) |
|
boolean |
putAll(K key,
java.lang.Iterable<? extends V> values) |
|
<KK extends K,VV extends V> |
putAll(Multimap<KK,VV> multimap) |
|
default boolean |
putAllPairs(java.lang.Iterable<? extends Pair<? extends K,? extends V>> pairs) |
|
default boolean |
putAllPairs(Pair<? extends K,? extends V>... pairs) |
|
MutableMultimap<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.
|
MutableMultimap<K,V> |
rejectKeysValues(Predicate2<? super K,? super V> predicate) |
Returns all elements of the source multimap that don't satisfy the predicate.
|
boolean |
remove(java.lang.Object key,
java.lang.Object value) |
|
RichIterable<V> |
removeAll(java.lang.Object key) |
|
RichIterable<V> |
replaceValues(K key,
java.lang.Iterable<? extends V> values) |
|
MutableMultimap<K,V> |
selectKeysMultiValues(Predicate2<? super K,? super java.lang.Iterable<V>> predicate) |
Returns all elements of the source multimap that satisfies the predicate.
|
MutableMultimap<K,V> |
selectKeysValues(Predicate2<? super K,? super V> predicate) |
Returns all elements of the source multimap that satisfies the predicate.
|
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, toImmutable, toMap, toMap, toMutable, valuesView
MutableMultimap<K,V> newEmpty()
Multimap
MutableCollection<V> get(K key)
Multimap
If the given key does not exist, an empty RichIterable
is returned.
default boolean add(Pair<? extends K,? extends V> keyValuePair)
keyValuePair
- key value pair to add in the multimapput(Object, Object)
boolean remove(java.lang.Object key, java.lang.Object value)
default boolean putAllPairs(java.lang.Iterable<? extends Pair<? extends K,? extends V>> pairs)
RichIterable<V> replaceValues(K key, java.lang.Iterable<? extends V> values)
RichIterable<V> removeAll(java.lang.Object key)
MutableCollection<V> getIfAbsentPutAll(K key, java.lang.Iterable<? extends V> values)
Multimap.get(Object)
void clear()
MutableMultimap<V,K> flip()
Multimap
->
Range return a multimap from Range ->
Domain.MutableMultimap<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>
predicate
- a Predicate2
to use as the select criteriaMultimap
, which contains elements as a result of the select criteriaMutableMultimap<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>
predicate
- a Predicate2
to use as the reject criteriaMultimap
, which contains elements that don't satisfy the predicate
MutableMultimap<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>
predicate
- a Predicate2
to use as the select criteriaMultimap
, which contains elements as a result of the select criteriaMutableMultimap<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>
predicate
- a Predicate2
to use as the reject criteriaMultimap
, which contains elements that don't satisfy the predicate
<K2,V2> MutableMultimap<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>
function
- a Function2
to use for transformationMultimap
, which contains elements as a result of the transformation<V2> MutableMultimap<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>
function
- a Function
to use for transformationMultimap
, which contains elements as a result of the transformation<K2,V2> MutableMultimap<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);
MutableMultimap<K,V> asSynchronized()
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.
MutableMapIterable.asSynchronized()
Copyright © 2004–2020. All rights reserved.