Serializable
, BagMultimap<K,V>
, ImmutableBagIterableMultimap<K,V>
, ImmutableBagMultimap<K,V>
, UnsortedBagMultimap<K,V>
, ImmutableMultimap<K,V>
, Multimap<K,V>
public final class ImmutableBagMultimapImpl<K,V> extends AbstractImmutableMultimap<K,V,ImmutableBag<V>> implements ImmutableBagMultimap<K,V>, Serializable
Constructor | Description |
---|---|
ImmutableBagMultimapImpl(ImmutableMap<K,ImmutableBag<V>> map) |
|
ImmutableBagMultimapImpl(MutableMap<K,ImmutableBag<V>> map) |
Modifier and Type | Method | Description |
---|---|---|
<K2,V2> ImmutableBagMultimap<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> ImmutableBagMultimap<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> ImmutableBagMultimap<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.
|
ImmutableBagMultimap<V,K> |
flip() |
Given a Multimap from Domain
-> Range return a multimap from Range -> Domain. |
ImmutableBagMultimap<K,V> |
newEmpty() |
Creates a new instance of the same implementation type, using the default capacity and growth parameters.
|
ImmutableBagMultimap<K,V> |
newWith(K key,
V value) |
|
ImmutableBagMultimap<K,V> |
newWithAll(K key,
Iterable<? extends V> values) |
|
ImmutableBagMultimap<K,V> |
newWithout(Object key,
Object value) |
|
ImmutableBagMultimap<K,V> |
newWithoutAll(Object key) |
|
ImmutableBagMultimap<K,V> |
rejectKeysMultiValues(Predicate2<? super K,? super Iterable<V>> predicate) |
Returns all elements of the source multimap that don't satisfy the predicate.
|
ImmutableBagMultimap<K,V> |
rejectKeysValues(Predicate2<? super K,? super V> predicate) |
Returns all elements of the source multimap that don't satisfy the predicate.
|
ImmutableBagMultimap<K,V> |
selectKeysMultiValues(Predicate2<? super K,? super Iterable<V>> predicate) |
Returns all elements of the source multimap that satisfies the predicate.
|
ImmutableBagMultimap<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.
|
get, isEmpty, keySet, size, sizeDistinct, toMap, toMap
collectKeyMultiValues, collectKeysValues, collectValues, containsKey, containsKeyAndValue, containsValue, equals, forEachKey, forEachKeyMultiValues, forEachKeyValue, forEachValue, hashCode, keyBag, keyMultiValuePairsView, keysView, keyValuePairsView, multiValuesView, notEmpty, rejectKeysMultiValues, rejectKeysValues, selectKeysMultiValues, selectKeysValues, toString, valuesView
get
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
public ImmutableBagMultimapImpl(MutableMap<K,ImmutableBag<V>> map)
public ImmutableBagMultimapImpl(ImmutableMap<K,ImmutableBag<V>> map)
public ImmutableBagMultimap<K,V> newEmpty()
Multimap
newEmpty
in interface BagMultimap<K,V>
newEmpty
in interface ImmutableBagIterableMultimap<K,V>
newEmpty
in interface ImmutableBagMultimap<K,V>
newEmpty
in interface ImmutableMultimap<K,V>
newEmpty
in interface Multimap<K,V>
newEmpty
in interface UnsortedBagMultimap<K,V>
public MutableBagMultimap<K,V> toMutable()
Multimap
public ImmutableBagMultimap<K,V> toImmutable()
Multimap
The returned Multimap will be Serializable
if this Multimap is Serializable
.
toImmutable
in interface Multimap<K,V>
toImmutable
in interface UnsortedBagMultimap<K,V>
toImmutable
in class AbstractImmutableMultimap<K,V,ImmutableBag<V>>
public ImmutableBagMultimap<K,V> newWith(K key, V value)
newWith
in interface ImmutableBagIterableMultimap<K,V>
newWith
in interface ImmutableBagMultimap<K,V>
newWith
in interface ImmutableMultimap<K,V>
public ImmutableBagMultimap<K,V> newWithout(Object key, Object value)
newWithout
in interface ImmutableBagIterableMultimap<K,V>
newWithout
in interface ImmutableBagMultimap<K,V>
newWithout
in interface ImmutableMultimap<K,V>
public ImmutableBagMultimap<K,V> newWithAll(K key, Iterable<? extends V> values)
newWithAll
in interface ImmutableBagIterableMultimap<K,V>
newWithAll
in interface ImmutableBagMultimap<K,V>
newWithAll
in interface ImmutableMultimap<K,V>
public ImmutableBagMultimap<K,V> newWithoutAll(Object key)
newWithoutAll
in interface ImmutableBagIterableMultimap<K,V>
newWithoutAll
in interface ImmutableBagMultimap<K,V>
newWithoutAll
in interface ImmutableMultimap<K,V>
public ImmutableBagMultimap<V,K> flip()
Multimap
->
Range return a multimap from Range ->
Domain.flip
in interface BagMultimap<K,V>
flip
in interface ImmutableBagIterableMultimap<K,V>
flip
in interface ImmutableBagMultimap<K,V>
flip
in interface ImmutableMultimap<K,V>
flip
in interface Multimap<K,V>
public ImmutableBagMultimap<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 ImmutableBagIterableMultimap<K,V>
selectKeysValues
in interface ImmutableBagMultimap<K,V>
selectKeysValues
in interface ImmutableMultimap<K,V>
selectKeysValues
in interface Multimap<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 criteriapublic ImmutableBagMultimap<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 ImmutableBagIterableMultimap<K,V>
rejectKeysValues
in interface ImmutableBagMultimap<K,V>
rejectKeysValues
in interface ImmutableMultimap<K,V>
rejectKeysValues
in interface Multimap<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
public ImmutableBagMultimap<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 ImmutableBagIterableMultimap<K,V>
selectKeysMultiValues
in interface ImmutableBagMultimap<K,V>
selectKeysMultiValues
in interface ImmutableMultimap<K,V>
selectKeysMultiValues
in interface Multimap<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 criteriapublic ImmutableBagMultimap<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 ImmutableBagIterableMultimap<K,V>
rejectKeysMultiValues
in interface ImmutableBagMultimap<K,V>
rejectKeysMultiValues
in interface ImmutableMultimap<K,V>
rejectKeysMultiValues
in interface Multimap<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
public <K2,V2> ImmutableBagMultimap<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 ImmutableBagIterableMultimap<K,V>
collectKeysValues
in interface ImmutableBagMultimap<K,V>
collectKeysValues
in interface ImmutableMultimap<K,V>
collectKeysValues
in interface Multimap<K,V>
collectKeysValues
in interface UnsortedBagMultimap<K,V>
function
- a Function2
to use for transformationMultimap
, which contains elements as a result of the transformationpublic <K2,V2> ImmutableBagMultimap<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 ImmutableBagIterableMultimap<K,V>
collectKeyMultiValues
in interface ImmutableBagMultimap<K,V>
collectKeyMultiValues
in interface ImmutableMultimap<K,V>
collectKeyMultiValues
in interface Multimap<K,V>
collectKeyMultiValues
in interface UnsortedBagMultimap<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> ImmutableBagMultimap<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 ImmutableBagIterableMultimap<K,V>
collectValues
in interface ImmutableBagMultimap<K,V>
collectValues
in interface ImmutableMultimap<K,V>
collectValues
in interface Multimap<K,V>
collectValues
in interface UnsortedBagMultimap<K,V>
function
- a Function
to use for transformationMultimap
, which contains elements as a result of the transformationCopyright © 2004–2019. All rights reserved.