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, toMapcollectKeysValues, collectValues, containsKey, containsKeyAndValue, containsValue, equals, forEachKey, forEachKeyMultiValues, forEachKeyValue, forEachValue, hashCode, keyBag, keyMultiValuePairsView, keysView, keyValuePairsView, multiValuesView, notEmpty, rejectKeysMultiValues, rejectKeysValues, selectKeysMultiValues, selectKeysValues, toString, valuesViewget, removeAll, replaceValuesadd, clear, put, putAll, putAll, putAllPairs, putAllPairs, removecollectKeysValues, 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, valuesViewpublic 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()
MultimapnewEmpty 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()
Multimappublic 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 ExternalizablewriteExternal in class AbstractMutableMultimap<K,V,MutableSortedBag<V>>IOExceptionpublic void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
readExternal in interface ExternalizablereadExternal in class AbstractMutableMultimap<K,V,MutableSortedBag<V>>IOExceptionClassNotFoundExceptionpublic MutableBagMultimap<V,K> flip()
Multimapflip 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 predicatepublic 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 predicatepublic <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()
MutableMultimapThe 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.