Package com.google.common.collect
Class ImmutableSetMultimap.Builder<K,V>
- java.lang.Object
-
- com.google.common.collect.ImmutableMultimap.Builder<K,V>
-
- com.google.common.collect.ImmutableSetMultimap.Builder<K,V>
-
- Enclosing class:
- ImmutableSetMultimap<K,V>
public static final class ImmutableSetMultimap.Builder<K,V> extends ImmutableMultimap.Builder<K,V>
A builder for creating immutableSetMultimap
instances, especiallypublic static final
multimaps ("constant multimaps"). Example:static final Multimap<String, Integer> STRING_TO_INTEGER_MULTIMAP = new ImmutableSetMultimap.Builder<String, Integer>() .put("one", 1) .putAll("several", 1, 2, 3) .putAll("many", 1, 2, 3, 4, 5) .build();
Builder instances can be reused; it is safe to call
build()
multiple times to build multiple multimaps in series. Each multimap contains the key-value mappings in the previously created multimaps.- Since:
- 2.0
-
-
Constructor Summary
Constructors Constructor Description Builder()
Creates a new builder.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ImmutableSetMultimap<K,V>
build()
Returns a newly-created immutable set multimap.ImmutableSetMultimap.Builder<K,V>
expectedValuesPerKey(int expectedValuesPerKey)
Provides a hint for how many values will be associated with each key newly added to the builder after this call.ImmutableSetMultimap.Builder<K,V>
orderKeysBy(java.util.Comparator<? super K> keyComparator)
Specifies the ordering of the generated multimap's keys.ImmutableSetMultimap.Builder<K,V>
orderValuesBy(java.util.Comparator<? super V> valueComparator)
Specifies the ordering of the generated multimap's values for each key.ImmutableSetMultimap.Builder<K,V>
put(java.util.Map.Entry<? extends K,? extends V> entry)
Adds an entry to the built multimap if it is not already present.ImmutableSetMultimap.Builder<K,V>
put(K key, V value)
Adds a key-value mapping to the built multimap if it is not already present.ImmutableSetMultimap.Builder<K,V>
putAll(Multimap<? extends K,? extends V> multimap)
Stores another multimap's entries in the built multimap.ImmutableSetMultimap.Builder<K,V>
putAll(java.lang.Iterable<? extends java.util.Map.Entry<? extends K,? extends V>> entries)
Adds entries to the built multimap.ImmutableSetMultimap.Builder<K,V>
putAll(K key, java.lang.Iterable<? extends V> values)
Stores a collection of values with the same key in the built multimap.ImmutableSetMultimap.Builder<K,V>
putAll(K key, V... values)
Stores an array of values with the same key in the built multimap.
-
-
-
Constructor Detail
-
Builder
public Builder()
Creates a new builder. The returned builder is equivalent to the builder generated byImmutableSetMultimap.builder()
.
-
-
Method Detail
-
expectedValuesPerKey
@CanIgnoreReturnValue public ImmutableSetMultimap.Builder<K,V> expectedValuesPerKey(int expectedValuesPerKey)
Provides a hint for how many values will be associated with each key newly added to the builder after this call. This does not change semantics, but may improve performance ifexpectedValuesPerKey
is a good estimate.This may be called more than once; each newly added key will use the most recent call to
ImmutableMultimap.Builder.expectedValuesPerKey
as its hint.Note that
expectedValuesPerKey
is taken to mean the expected number of distinct values per key.- Overrides:
expectedValuesPerKey
in classImmutableMultimap.Builder<K,V>
- Since:
- 33.3.0
-
put
@CanIgnoreReturnValue public ImmutableSetMultimap.Builder<K,V> put(K key, V value)
Adds a key-value mapping to the built multimap if it is not already present.- Overrides:
put
in classImmutableMultimap.Builder<K,V>
-
put
@CanIgnoreReturnValue public ImmutableSetMultimap.Builder<K,V> put(java.util.Map.Entry<? extends K,? extends V> entry)
Adds an entry to the built multimap if it is not already present.- Overrides:
put
in classImmutableMultimap.Builder<K,V>
- Since:
- 11.0
-
putAll
@CanIgnoreReturnValue public ImmutableSetMultimap.Builder<K,V> putAll(java.lang.Iterable<? extends java.util.Map.Entry<? extends K,? extends V>> entries)
Adds entries to the built multimap.- Overrides:
putAll
in classImmutableMultimap.Builder<K,V>
- Since:
- 19.0
-
putAll
@CanIgnoreReturnValue public ImmutableSetMultimap.Builder<K,V> putAll(K key, java.lang.Iterable<? extends V> values)
Description copied from class:ImmutableMultimap.Builder
Stores a collection of values with the same key in the built multimap.- Overrides:
putAll
in classImmutableMultimap.Builder<K,V>
-
putAll
@CanIgnoreReturnValue public ImmutableSetMultimap.Builder<K,V> putAll(K key, V... values)
Description copied from class:ImmutableMultimap.Builder
Stores an array of values with the same key in the built multimap.- Overrides:
putAll
in classImmutableMultimap.Builder<K,V>
-
putAll
@CanIgnoreReturnValue public ImmutableSetMultimap.Builder<K,V> putAll(Multimap<? extends K,? extends V> multimap)
Description copied from class:ImmutableMultimap.Builder
Stores another multimap's entries in the built multimap. The generated multimap's key and value orderings correspond to the iteration ordering of themultimap.asMap()
view, with new keys and values following any existing keys and values.- Overrides:
putAll
in classImmutableMultimap.Builder<K,V>
-
orderKeysBy
@CanIgnoreReturnValue public ImmutableSetMultimap.Builder<K,V> orderKeysBy(java.util.Comparator<? super K> keyComparator)
Specifies the ordering of the generated multimap's keys.- Overrides:
orderKeysBy
in classImmutableMultimap.Builder<K,V>
- Since:
- 8.0
-
orderValuesBy
@CanIgnoreReturnValue public ImmutableSetMultimap.Builder<K,V> orderValuesBy(java.util.Comparator<? super V> valueComparator)
Specifies the ordering of the generated multimap's values for each key.If this method is called, the sets returned by the
get()
method of the generated multimap and itsMultimap.asMap()
view areImmutableSortedSet
instances. However, serialization does not preserve that property, though it does maintain the key and value ordering.- Overrides:
orderValuesBy
in classImmutableMultimap.Builder<K,V>
- Since:
- 8.0
-
build
public ImmutableSetMultimap<K,V> build()
Returns a newly-created immutable set multimap.- Overrides:
build
in classImmutableMultimap.Builder<K,V>
-
-