public static class ImmutableMultimap.Builder<K,V> extends Object
A builder for creating immutable multimap instances, especially public static final
multimaps (“constant multimaps”). Example:
static final Multimap<String, Integer> STRING_TO_INTEGER_MULTIMAP =
new ImmutableMultimap.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 |
---|---|
ImmutableMultimap<K,V> |
build()
Returns a newly-created immutable multimap.
|
ImmutableMultimap.Builder<K,V> |
orderKeysBy(Comparator<? super K> keyComparator)
Specifies the ordering of the generated multimap’s keys.
|
ImmutableMultimap.Builder<K,V> |
orderValuesBy(Comparator<? super V> valueComparator)
Specifies the ordering of the generated multimap’s values for each key.
|
ImmutableMultimap.Builder<K,V> |
put(K key,
V value)
Adds a key-value mapping to the built multimap.
|
ImmutableMultimap.Builder<K,V> |
put(Map.Entry<? extends K,? extends V> entry)
Adds an entry to the built multimap.
|
ImmutableMultimap.Builder<K,V> |
putAll(Iterable<? extends Map.Entry<? extends K,? extends V>> entries)
Adds entries to the built multimap.
|
ImmutableMultimap.Builder<K,V> |
putAll(K key,
Iterable<? extends V> values)
Stores a collection of values with the same key in the built multimap.
|
ImmutableMultimap.Builder<K,V> |
putAll(K key,
V... values)
Stores an array of values with the same key in the built multimap.
|
ImmutableMultimap.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 ImmutableMultimap.builder()
.
public ImmutableMultimap.Builder<K,V> put(K key, V value)
Adds a key-value mapping to the built multimap.
public ImmutableMultimap.Builder<K,V> put(Map.Entry<? extends K,? extends V> entry)
Adds an entry to the built multimap.
@Beta public ImmutableMultimap.Builder<K,V> putAll(Iterable<? extends Map.Entry<? extends K,? extends V>> entries)
Adds entries to the built multimap.
public ImmutableMultimap.Builder<K,V> putAll(K key, Iterable<? extends V> values)
Stores a collection of values with the same key in the built multimap.
NullPointerException
- if key
, values
, or any element in values
is null. The builder is left in an invalid state.public ImmutableMultimap.Builder<K,V> putAll(K key, V... values)
Stores an array of values with the same key in the built multimap.
NullPointerException
- if the key or any value is null. The builder is left in an invalid state.public ImmutableMultimap.Builder<K,V> putAll(Multimap<? extends K,? extends V> multimap)
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.
NullPointerException
- if any key or value in multimap
is null. The builder is left in an invalid state.public ImmutableMultimap.Builder<K,V> orderKeysBy(Comparator<? super K> keyComparator)
Specifies the ordering of the generated multimap’s keys.
public ImmutableMultimap.Builder<K,V> orderValuesBy(Comparator<? super V> valueComparator)
Specifies the ordering of the generated multimap’s values for each key.
public ImmutableMultimap<K,V> build()
Returns a newly-created immutable multimap.