BagMultimap<K,V>
, Multimap<K,V>
, MutableBagIterableMultimap<K,V>
, MutableMultimap<K,V>
, UnsortedBagMultimap<K,V>
AbstractMutableBagMultimap
, HashBagMultimap
, HashBagMultimapWithHashingStrategy
, MultiReaderHashBagMultimap
, SynchronizedBagMultimap
, SynchronizedPutHashBagMultimap
public interface MutableBagMultimap<K,V> extends MutableBagIterableMultimap<K,V>, UnsortedBagMultimap<K,V>
Modifier and Type | Method | Description |
---|---|---|
MutableBagMultimap<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.
|
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.
|
void |
putOccurrences(K key,
V value,
int occurrences) |
|
MutableBagMultimap<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.
|
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(java.lang.Object key) |
|
MutableBag<V> |
replaceValues(K key,
java.lang.Iterable<? extends V> values) |
|
MutableBagMultimap<K,V> |
selectKeysMultiValues(Predicate2<? super K,? super java.lang.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.
|
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
toImmutable, toMutable
MutableBag<V> replaceValues(K key, java.lang.Iterable<? extends V> values)
replaceValues
in interface MutableBagIterableMultimap<K,V>
replaceValues
in interface MutableMultimap<K,V>
MutableBag<V> removeAll(java.lang.Object key)
removeAll
in interface MutableBagIterableMultimap<K,V>
removeAll
in interface MutableMultimap<K,V>
MutableBagMultimap<K,V> newEmpty()
Multimap
newEmpty
in interface BagMultimap<K,V>
newEmpty
in interface Multimap<K,V>
newEmpty
in interface MutableBagIterableMultimap<K,V>
newEmpty
in interface MutableMultimap<K,V>
newEmpty
in interface UnsortedBagMultimap<K,V>
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 Multimap<K,V>
get
in interface MutableBagIterableMultimap<K,V>
get
in interface MutableMultimap<K,V>
get
in interface UnsortedBagMultimap<K,V>
key
- the key to search forMutableBagMultimap<V,K> flip()
Multimap
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 Multimap<K,V>
selectKeysValues
in interface MutableBagIterableMultimap<K,V>
selectKeysValues
in interface MutableMultimap<K,V>
selectKeysValues
in interface UnsortedBagMultimap<K,V>
predicate
- a Predicate2
to use as the select criteriaMultimap
, which contains elements as a result of the select criteriaMutableBagMultimap<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 Multimap<K,V>
rejectKeysValues
in interface MutableBagIterableMultimap<K,V>
rejectKeysValues
in interface MutableMultimap<K,V>
rejectKeysValues
in interface UnsortedBagMultimap<K,V>
predicate
- a Predicate2
to use as the reject criteriaMultimap
, which contains elements that don't satisfy the predicate
MutableBagMultimap<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 BagMultimap<K,V>
selectKeysMultiValues
in interface Multimap<K,V>
selectKeysMultiValues
in interface MutableBagIterableMultimap<K,V>
selectKeysMultiValues
in interface MutableMultimap<K,V>
selectKeysMultiValues
in interface UnsortedBagMultimap<K,V>
predicate
- a Predicate2
to use as the select criteriaMultimap
, which contains elements as a result of the select criteriaMutableBagMultimap<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 BagMultimap<K,V>
rejectKeysMultiValues
in interface Multimap<K,V>
rejectKeysMultiValues
in interface MutableBagIterableMultimap<K,V>
rejectKeysMultiValues
in interface MutableMultimap<K,V>
rejectKeysMultiValues
in interface UnsortedBagMultimap<K,V>
predicate
- a Predicate2
to use as the reject criteriaMultimap
, which contains elements that don't satisfy the predicate
<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 MutableBagIterableMultimap<K,V>
collectKeysValues
in interface MutableMultimap<K,V>
collectKeysValues
in interface UnsortedBagMultimap<K,V>
function
- a Function2
to use for transformationMultimap
, which contains elements as a result of the transformation<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 MutableBagIterableMultimap<K,V>
collectValues
in interface MutableMultimap<K,V>
collectValues
in interface UnsortedBagMultimap<K,V>
function
- a Function
to use for transformationMultimap
, which contains elements as a result of the transformationMutableBagMultimap<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 MutableBagIterableMultimap<K,V>
asSynchronized
in interface MutableMultimap<K,V>
MutableMapIterable.asSynchronized()
Copyright © 2004–2017. All rights reserved.