public static class ImmutableMap.Builder<K,V> extends Object
A builder for creating immutable map instances, especially public
static final
maps (“constant maps”). Example:
static final ImmutableMap<String, Integer> WORD_TO_INT =
new ImmutableMap.Builder<String, Integer>()
.put("one", 1)
.put("two", 2)
.put("three", 3)
.build();
For small immutable maps, the ImmutableMap.of()
methods are even more convenient.
Builder instances can be reused - it is safe to call build()
multiple times to build multiple maps in series. Each map is a superset of the maps created before it.
Constructor and Description |
---|
Builder()
Creates a new builder.
|
Builder(int initialCapacity)
Creates a new builder with the given initial capacity.
|
Modifier and Type | Method and Description |
---|---|
ImmutableMap<K,V> |
build()
Returns a newly-created immutable map.
|
ImmutableMap.Builder<K,V> |
orderEntriesByValue(Comparator<? super V> valueComparator)
Configures this
Builder to order entries by value according to the specified comparator. |
ImmutableMap.Builder<K,V> |
put(K key,
V value)
Associates
key with value in the built map. |
ImmutableMap.Builder<K,V> |
put(Map.Entry<? extends K,? extends V> entry)
Adds the given
entry to the map, making it immutable if necessary. |
ImmutableMap.Builder<K,V> |
putAll(Iterable<? extends Map.Entry<? extends K,? extends V>> entries)
Adds all of the given entries to the built map.
|
ImmutableMap.Builder<K,V> |
putAll(Map<? extends K,? extends V> map)
Associates all of the given map’s keys and values in the built map.
|
public Builder()
Creates a new builder. The returned builder is equivalent to the builder generated by ImmutableMap.builder()
.
public Builder(int initialCapacity)
Creates a new builder with the given initial capacity. The returned builder is equivalent to the builder generated by ImmutableMap.builder(int)
.
public ImmutableMap.Builder<K,V> put(K key, V value)
Associates key
with value
in the built map. Duplicate keys are not allowed, and will cause build()
to fail.
public ImmutableMap.Builder<K,V> put(Map.Entry<? extends K,? extends V> entry)
Adds the given entry
to the map, making it immutable if necessary. Duplicate keys are not allowed, and will cause build()
to fail.
public ImmutableMap.Builder<K,V> putAll(Map<? extends K,? extends V> map)
Associates all of the given map’s keys and values in the built map. Duplicate keys are not allowed, and will cause build()
to fail.
NullPointerException
- if any key or value in map
is null@Beta public ImmutableMap.Builder<K,V> putAll(Iterable<? extends Map.Entry<? extends K,? extends V>> entries)
Adds all of the given entries to the built map. Duplicate keys are not allowed, and will cause build()
to fail.
NullPointerException
- if any key, value, or entry is null@Beta public ImmutableMap.Builder<K,V> orderEntriesByValue(Comparator<? super V> valueComparator)
Configures this Builder
to order entries by value according to the specified comparator.
The sort order is stable, that is, if two entries have values that compare as equivalent, the entry that was inserted first will be first in the built map’s iteration order.
IllegalStateException
- if this method was already calledpublic ImmutableMap<K,V> build()
Returns a newly-created immutable map.
IllegalArgumentException
- if duplicate keys were added