Package com.google.common.collect
Class ImmutableBiMap.Builder<K,V>
java.lang.Object
com.google.common.collect.ImmutableMap.Builder<K,V>
com.google.common.collect.ImmutableBiMap.Builder<K,V>
- Enclosing class:
ImmutableBiMap<K,
V>
A builder for creating immutable bimap instances, especially
public
static final
bimaps ("constant bimaps"). Example:
static final ImmutableBiMap<String, Integer> WORD_TO_INT =
new ImmutableBiMap.Builder<String, Integer>()
.put("one", 1)
.put("two", 2)
.put("three", 3)
.build();
For small immutable bimaps, the ImmutableBiMap.of()
methods
are even more convenient.
Builder instances can be reused - it is safe to call build()
multiple times to build multiple bimaps in series. Each bimap is a superset
of the bimaps created before it.
- Since:
- 2.0
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuild()
Returns a newly-created immutable bimap.orderEntriesByValue
(Comparator<? super V> valueComparator) Configures thisBuilder
to order entries by value according to the specified comparator.Adds the givenentry
to the bimap.Associateskey
withvalue
in the built bimap.Adds all of the given entries to the built bimap.Associates all of the given map's keys and values in the built bimap.
-
Constructor Details
-
Builder
public Builder()Creates a new builder. The returned builder is equivalent to the builder generated byImmutableBiMap.builder()
.
-
-
Method Details
-
put
Associateskey
withvalue
in the built bimap. Duplicate keys or values are not allowed, and will causebuild()
to fail.- Overrides:
put
in classImmutableMap.Builder<K,
V>
-
put
Adds the givenentry
to the bimap. Duplicate keys or values are not allowed, and will causebuild()
to fail.- Overrides:
put
in classImmutableMap.Builder<K,
V> - Since:
- 19.0
-
putAll
Associates all of the given map's keys and values in the built bimap. Duplicate keys or values are not allowed, and will causebuild()
to fail.- Overrides:
putAll
in classImmutableMap.Builder<K,
V> - Throws:
NullPointerException
- if any key or value inmap
is null
-
putAll
@Beta public ImmutableBiMap.Builder<K,V> putAll(Iterable<? extends Map.Entry<? extends K, ? extends V>> entries) Adds all of the given entries to the built bimap. Duplicate keys or values are not allowed, and will causebuild()
to fail.- Overrides:
putAll
in classImmutableMap.Builder<K,
V> - 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.
- Overrides:
orderEntriesByValue
in classImmutableMap.Builder<K,
V> - Throws:
IllegalStateException
- if this method was already called- Since:
- 19.0
-
build
Returns a newly-created immutable bimap.- Overrides:
build
in classImmutableMap.Builder<K,
V> - Throws:
IllegalArgumentException
- if duplicate keys or values were added
-