Package com.google.common.collect
Class ImmutableMap.Builder<K,V>
java.lang.Object
com.google.common.collect.ImmutableMap.Builder<K,V>
- Direct Known Subclasses:
ImmutableBiMap.Builder
,ImmutableSortedMap.Builder
- Enclosing class:
ImmutableMap<K,
V>
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.
- Since:
- 2.0
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuild()
Returns a newly-created immutable map.orderEntriesByValue
(Comparator<? super V> valueComparator) Configures thisBuilder
to order entries by value according to the specified comparator.Adds the givenentry
to the map, making it immutable if necessary.Associateskey
withvalue
in the built map.Adds all of the given entries to the built map.Associates all of the given map's keys and values in the built map.
-
Constructor Details
-
Builder
public Builder()Creates a new builder. The returned builder is equivalent to the builder generated byImmutableMap.builder()
.
-
-
Method Details
-
put
Associateskey
withvalue
in the built map. Duplicate keys are not allowed, and will causebuild()
to fail. -
put
Adds the givenentry
to the map, making it immutable if necessary. Duplicate keys are not allowed, and will causebuild()
to fail.- Since:
- 11.0
-
putAll
Associates all of the given map's keys and values in the built map. Duplicate keys are not allowed, and will causebuild()
to fail.- Throws:
NullPointerException
- if any key or value inmap
is null
-
putAll
@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 causebuild()
to fail.- Throws:
NullPointerException
- if any key, value, or entry is null- Since:
- 19.0
-
orderEntriesByValue
Configures thisBuilder
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.
- Throws:
IllegalStateException
- if this method was already called- Since:
- 19.0
-
build
Returns a newly-created immutable map.- Throws:
IllegalArgumentException
- if duplicate keys were added
-