java.io.Externalizable, java.io.Serializable, BagMultimap<K,V>, MutableBagIterableMultimap<K,V>, MutableBagMultimap<K,V>, UnsortedBagMultimap<K,V>, Multimap<K,V>, MutableMultimap<K,V>public final class SynchronizedPutHashBagMultimap<K,V> extends AbstractSynchronizedPutMultimap<K,V,MutableBag<V>> implements MutableBagMultimap<K,V>, java.io.Externalizable
| Constructor | Description | 
|---|---|
| SynchronizedPutHashBagMultimap() | |
| SynchronizedPutHashBagMultimap(int initialCapacity) | |
| SynchronizedPutHashBagMultimap(java.lang.Iterable<Pair<K,V>> inputIterable) | |
| SynchronizedPutHashBagMultimap(Multimap<? extends K,? extends V> multimap) | |
| SynchronizedPutHashBagMultimap(Pair<K,V>... pairs) | 
| Modifier and Type | Method | Description | 
|---|---|---|
| MutableBagMultimap<K,V> | asSynchronized() | Returns a synchronized wrapper 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> HashBagMultimap<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. | 
| SynchronizedPutHashBagMultimap<K,V> | newEmpty() | Creates a new instance of the same implementation type, using the default capacity and growth parameters. | 
| static <K,V> SynchronizedPutHashBagMultimap<K,V> | newMultimap() | |
| static <K,V> SynchronizedPutHashBagMultimap<K,V> | newMultimap(int initialCapacity,
           float loadFactor,
           int concurrencyLevel) | |
| static <K,V> SynchronizedPutHashBagMultimap<K,V> | newMultimap(java.lang.Iterable<Pair<K,V>> inputIterable) | |
| static <K,V> SynchronizedPutHashBagMultimap<K,V> | newMultimap(Multimap<? extends K,? extends V> multimap) | |
| static <K,V> SynchronizedPutHashBagMultimap<K,V> | newMultimap(Pair<K,V>... pairs) | |
| void | putOccurrences(K key,
              V value,
              int occurrences) | |
| HashBagMultimap<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. | 
| HashBagMultimap<K,V> | rejectKeysValues(Predicate2<? super K,? super V> predicate) | Returns all elements of the source multimap that don't satisfy the predicate. | 
| HashBagMultimap<K,V> | selectKeysMultiValues(Predicate2<? super K,? super java.lang.Iterable<V>> predicate) | Returns all elements of the source multimap that satisfies the predicate. | 
| HashBagMultimap<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. | 
collectKeysValues, collectValues, containsKey, containsKeyAndValue, containsValue, equals, forEachKey, forEachKeyMultiValues, forEachKeyValue, forEachValue, hashCode, keyBag, keyMultiValuePairsView, keysView, keyValuePairsView, multiValuesView, notEmpty, rejectKeysMultiValues, rejectKeysValues, selectKeysMultiValues, selectKeysValues, toString, valuesViewclear, get, isEmpty, keySet, putAll, putAll, readExternal, remove, removeAll, replaceValues, sizeDistinct, toMap, toMap, writeExternalput, sizecollectKeysValues, 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, valuesViewget, removeAll, replaceValuesadd, clear, put, putAll, putAll, putAllPairs, putAllPairs, removepublic SynchronizedPutHashBagMultimap()
public SynchronizedPutHashBagMultimap(int initialCapacity)
public SynchronizedPutHashBagMultimap(Multimap<? extends K,? extends V> multimap)
public static <K,V> SynchronizedPutHashBagMultimap<K,V> newMultimap()
public static <K,V> SynchronizedPutHashBagMultimap<K,V> newMultimap(int initialCapacity, float loadFactor, int concurrencyLevel)
public static <K,V> SynchronizedPutHashBagMultimap<K,V> newMultimap(Multimap<? extends K,? extends V> multimap)
public static <K,V> SynchronizedPutHashBagMultimap<K,V> newMultimap(Pair<K,V>... pairs)
public static <K,V> SynchronizedPutHashBagMultimap<K,V> newMultimap(java.lang.Iterable<Pair<K,V>> inputIterable)
public SynchronizedPutHashBagMultimap<K,V> newEmpty()
MultimapnewEmpty in interface BagMultimap<K,V>newEmpty in interface Multimap<K,V>newEmpty in interface MutableBagIterableMultimap<K,V>newEmpty in interface MutableBagMultimap<K,V>newEmpty in interface MutableMultimap<K,V>newEmpty in interface UnsortedBagMultimap<K,V>public MutableBagMultimap<K,V> toMutable()
Multimappublic 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>public HashBagMultimap<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 MutableBagMultimap<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 criteriapublic HashBagMultimap<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 MutableBagMultimap<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 predicatepublic HashBagMultimap<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 MutableBagMultimap<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 criteriapublic HashBagMultimap<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 MutableBagMultimap<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 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 Multimap<K,V>collectKeysValues in interface MutableBagIterableMultimap<K,V>collectKeysValues in interface MutableBagMultimap<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 transformationpublic <V2> HashBagMultimap<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 MutableBagMultimap<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 transformationpublic MutableBagMultimap<V,K> flip()
Multimapflip in interface BagMultimap<K,V>flip in interface Multimap<K,V>flip in interface MutableBagIterableMultimap<K,V>flip in interface MutableBagMultimap<K,V>flip in interface MutableMultimap<K,V>public void putOccurrences(K key, V value, int occurrences)
putOccurrences in interface MutableBagMultimap<K,V>public MutableBagMultimap<K,V> asSynchronized()
MutableMultimapMutableMultimap 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 MutableBagMultimap<K,V>asSynchronized in interface MutableMultimap<K,V>MutableMapIterable.asSynchronized()Copyright © 2004–2018. All rights reserved.