public final class TreeBagMultimap<K,V> extends AbstractMutableMultimap<K,V,MutableSortedBag<V>> implements MutableSortedBagMultimap<K,V>, Externalizable
Constructor and Description |
---|
TreeBagMultimap() |
TreeBagMultimap(Comparator<? super V> comparator) |
TreeBagMultimap(Iterable<Pair<K,V>> inputIterable) |
TreeBagMultimap(Multimap<? extends K,? extends V> multimap) |
TreeBagMultimap(Pair<K,V>... pairs) |
Modifier and Type | Method and Description |
---|---|
MutableSortedBagMultimap<K,V> |
asSynchronized()
Returns a synchronized (thread-safe) multimap backed by this 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.
|
Comparator<? super V> |
comparator() |
MutableBagMultimap<V,K> |
flip()
Given a Multimap from Domain -> Range return a multimap from Range -> Domain.
|
TreeBagMultimap<K,V> |
newEmpty()
Creates a new instance of the same implementation type, using the default capacity and growth parameters.
|
static <K,V> TreeBagMultimap<K,V> |
newMultimap() |
static <K,V> TreeBagMultimap<K,V> |
newMultimap(Comparator<? super V> comparator) |
static <K,V> TreeBagMultimap<K,V> |
newMultimap(Iterable<Pair<K,V>> inputIterable) |
static <K,V> TreeBagMultimap<K,V> |
newMultimap(Multimap<? extends K,? extends V> multimap) |
static <K,V> TreeBagMultimap<K,V> |
newMultimap(Pair<K,V>... pairs) |
void |
readExternal(ObjectInput in) |
TreeBagMultimap<K,V> |
rejectKeysMultiValues(Predicate2<? super K,? super Iterable<V>> predicate)
Returns all elements of the source multimap that don't satisfy the predicate.
|
TreeBagMultimap<K,V> |
rejectKeysValues(Predicate2<? super K,? super V> predicate)
Returns all elements of the source multimap that don't satisfy the predicate.
|
TreeBagMultimap<K,V> |
selectKeysMultiValues(Predicate2<? super K,? super Iterable<V>> predicate)
Returns all elements of the source multimap that satisfies the predicate.
|
TreeBagMultimap<K,V> |
selectKeysValues(Predicate2<? super K,? super V> predicate)
Returns all elements of the source multimap that satisfies the predicate.
|
ImmutableSortedBagMultimap<K,V> |
toImmutable()
Returns an immutable copy of this Multimap if it is not already immutable.
|
MutableSortedBagMultimap<K,V> |
toMutable()
Returns a mutable copy of this Multimap.
|
void |
writeExternal(ObjectOutput out) |
clear, get, isEmpty, keySet, put, putAll, putAll, remove, removeAll, replaceValues, size, sizeDistinct, toMap, toMap
collectKeysValues, collectValues, containsKey, containsKeyAndValue, containsValue, equals, forEachKey, forEachKeyMultiValues, forEachKeyValue, forEachValue, hashCode, keyBag, keyMultiValuePairsView, keysView, keyValuePairsView, multiValuesView, notEmpty, rejectKeysMultiValues, rejectKeysValues, selectKeysMultiValues, selectKeysValues, toString, valuesView
get, removeAll, replaceValues
add, clear, put, putAll, putAll, putAllPairs, putAllPairs, remove
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 TreeBagMultimap()
public TreeBagMultimap(Comparator<? super V> comparator)
public static <K,V> TreeBagMultimap<K,V> newMultimap()
public static <K,V> TreeBagMultimap<K,V> newMultimap(Multimap<? extends K,? extends V> multimap)
public static <K,V> TreeBagMultimap<K,V> newMultimap(Comparator<? super V> comparator)
public static <K,V> TreeBagMultimap<K,V> newMultimap(Pair<K,V>... pairs)
public static <K,V> TreeBagMultimap<K,V> newMultimap(Iterable<Pair<K,V>> inputIterable)
public TreeBagMultimap<K,V> newEmpty()
Multimap
newEmpty
in interface BagMultimap<K,V>
newEmpty
in interface MutableBagIterableMultimap<K,V>
newEmpty
in interface Multimap<K,V>
newEmpty
in interface MutableMultimap<K,V>
newEmpty
in interface OrderedIterableMultimap<K,V>
newEmpty
in interface ReversibleIterableMultimap<K,V>
newEmpty
in interface SortedIterableMultimap<K,V>
newEmpty
in interface MutableSortedBagMultimap<K,V>
newEmpty
in interface SortedBagMultimap<K,V>
public Comparator<? super V> comparator()
comparator
in interface SortedIterableMultimap<K,V>
public MutableSortedBagMultimap<K,V> toMutable()
Multimap
public ImmutableSortedBagMultimap<K,V> toImmutable()
Multimap
The returned Multimap will be Serializable
if this Multimap is Serializable
.
toImmutable
in interface Multimap<K,V>
toImmutable
in interface SortedBagMultimap<K,V>
public void writeExternal(ObjectOutput out) throws IOException
writeExternal
in interface Externalizable
writeExternal
in class AbstractMutableMultimap<K,V,MutableSortedBag<V>>
IOException
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
readExternal
in interface Externalizable
readExternal
in class AbstractMutableMultimap<K,V,MutableSortedBag<V>>
IOException
ClassNotFoundException
public MutableBagMultimap<V,K> flip()
Multimap
flip
in interface BagMultimap<K,V>
flip
in interface MutableBagIterableMultimap<K,V>
flip
in interface Multimap<K,V>
flip
in interface MutableMultimap<K,V>
flip
in interface MutableSortedBagMultimap<K,V>
public TreeBagMultimap<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 Multimap<K,V>
selectKeysValues
in interface MutableMultimap<K,V>
selectKeysValues
in interface OrderedIterableMultimap<K,V>
selectKeysValues
in interface ReversibleIterableMultimap<K,V>
selectKeysValues
in interface SortedIterableMultimap<K,V>
selectKeysValues
in interface MutableSortedBagMultimap<K,V>
selectKeysValues
in interface SortedBagMultimap<K,V>
predicate
- a Predicate2
to use as the select criteriaMultimap
, which contains elements as a result of the select criteriapublic TreeBagMultimap<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 Multimap<K,V>
rejectKeysValues
in interface MutableMultimap<K,V>
rejectKeysValues
in interface OrderedIterableMultimap<K,V>
rejectKeysValues
in interface ReversibleIterableMultimap<K,V>
rejectKeysValues
in interface SortedIterableMultimap<K,V>
rejectKeysValues
in interface MutableSortedBagMultimap<K,V>
rejectKeysValues
in interface SortedBagMultimap<K,V>
predicate
- a Predicate2
to use as the reject criteriaMultimap
, which contains elements that don't satisfy the predicate
public TreeBagMultimap<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 Multimap<K,V>
selectKeysMultiValues
in interface MutableMultimap<K,V>
selectKeysMultiValues
in interface OrderedIterableMultimap<K,V>
selectKeysMultiValues
in interface ReversibleIterableMultimap<K,V>
selectKeysMultiValues
in interface SortedIterableMultimap<K,V>
selectKeysMultiValues
in interface MutableSortedBagMultimap<K,V>
selectKeysMultiValues
in interface SortedBagMultimap<K,V>
predicate
- a Predicate2
to use as the select criteriaMultimap
, which contains elements as a result of the select criteriapublic TreeBagMultimap<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 Multimap<K,V>
rejectKeysMultiValues
in interface MutableMultimap<K,V>
rejectKeysMultiValues
in interface OrderedIterableMultimap<K,V>
rejectKeysMultiValues
in interface ReversibleIterableMultimap<K,V>
rejectKeysMultiValues
in interface SortedIterableMultimap<K,V>
rejectKeysMultiValues
in interface MutableSortedBagMultimap<K,V>
rejectKeysMultiValues
in interface SortedBagMultimap<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 MutableBagIterableMultimap<K,V>
collectKeysValues
in interface Multimap<K,V>
collectKeysValues
in interface MutableMultimap<K,V>
collectKeysValues
in interface OrderedIterableMultimap<K,V>
collectKeysValues
in interface MutableSortedBagMultimap<K,V>
collectKeysValues
in interface SortedBagMultimap<K,V>
function
- a Function2
to use for transformationMultimap
, 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 MutableBagIterableMultimap<K,V>
collectValues
in interface Multimap<K,V>
collectValues
in interface MutableMultimap<K,V>
collectValues
in interface OrderedIterableMultimap<K,V>
collectValues
in interface ReversibleIterableMultimap<K,V>
collectValues
in interface SortedIterableMultimap<K,V>
collectValues
in interface MutableSortedBagMultimap<K,V>
collectValues
in interface SortedBagMultimap<K,V>
function
- a Function
to use for transformationMultimap
, which contains elements as a result of the transformationpublic MutableSortedBagMultimap<K,V> asSynchronized()
MutableMultimap
The 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 MutableMultimap<K,V>
asSynchronized
in interface MutableSortedBagMultimap<K,V>
Copyright © 2004–2016. All rights reserved.