public static final class ImmutableSetMultimap.Builder<K,V> extends ImmutableMultimap.Builder<K,V>
A builder for creating immutable SetMultimap
instances, especially public 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.
Constructor and Description |
---|
Builder()
Creates a new builder.
|
Modifier and Type | Method and Description |
---|---|
ImmutableSetMultimap<K,V> |
build()
Returns a newly-created immutable set multimap.
|
ImmutableSetMultimap.Builder<K,V> |
orderKeysBy(Comparator<? super K> keyComparator)
Specifies the ordering of the generated multimap’s keys.
|
ImmutableSetMultimap.Builder<K,V> |
orderValuesBy(Comparator<? super V> valueComparator)
Specifies the ordering of the generated multimap’s values for each key.
|
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> |
put(Map.Entry<? extends K,? extends V> entry)
Adds an entry to the built multimap if it is not already present.
|
ImmutableSetMultimap.Builder<K,V> |
putAll(Iterable<? extends Map.Entry<? extends K,? extends V>> entries)
Adds entries to the built multimap.
|
ImmutableSetMultimap.Builder<K,V> |
putAll(K key,
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.
|
ImmutableSetMultimap.Builder<K,V> |
putAll(Multimap<? extends K,? extends V> multimap)
Stores another multimap’s entries in the built multimap.
|
public Builder()
Creates a new builder. The returned builder is equivalent to the builder generated by ImmutableSetMultimap.builder()
.
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.
put
in class ImmutableMultimap.Builder<K,V>
public ImmutableSetMultimap.Builder<K,V> put(Map.Entry<? extends K,? extends V> entry)
Adds an entry to the built multimap if it is not already present.
put
in class ImmutableMultimap.Builder<K,V>
@Beta public ImmutableSetMultimap.Builder<K,V> putAll(Iterable<? extends Map.Entry<? extends K,? extends V>> entries)
Adds entries to the built multimap.
putAll
in class ImmutableMultimap.Builder<K,V>
public ImmutableSetMultimap.Builder<K,V> putAll(K key, Iterable<? extends V> values)
ImmutableMultimap.Builder
Stores a collection of values with the same key in the built multimap.
putAll
in class ImmutableMultimap.Builder<K,V>
public ImmutableSetMultimap.Builder<K,V> putAll(K key, V... values)
ImmutableMultimap.Builder
Stores an array of values with the same key in the built multimap.
putAll
in class ImmutableMultimap.Builder<K,V>
public ImmutableSetMultimap.Builder<K,V> putAll(Multimap<? extends K,? extends V> multimap)
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 the multimap.asMap()
view, with new keys and values following any existing keys and values.
putAll
in class ImmutableMultimap.Builder<K,V>
public ImmutableSetMultimap.Builder<K,V> orderKeysBy(Comparator<? super K> keyComparator)
Specifies the ordering of the generated multimap’s keys.
orderKeysBy
in class ImmutableMultimap.Builder<K,V>
public ImmutableSetMultimap.Builder<K,V> orderValuesBy(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 its Multimap.asMap()
view are ImmutableSortedSet
instances. However, serialization does not preserve that property, though it does maintain the key and value ordering.
orderValuesBy
in class ImmutableMultimap.Builder<K,V>
public ImmutableSetMultimap<K,V> build()
Returns a newly-created immutable set multimap.
build
in class ImmutableMultimap.Builder<K,V>