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>
public static final class ImmutableBiMap.Builder<K,V> extends ImmutableMap.Builder<K,V>
A builder for creating immutable bimap instances, especiallypublic static finalbimaps ("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 Constructor Description Builder()Creates a new builder.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ImmutableBiMap<K,V>build()Returns a newly-created immutable bimap.ImmutableBiMap.Builder<K,V>orderEntriesByValue(java.util.Comparator<? super V> valueComparator)Configures thisBuilderto order entries by value according to the specified comparator.ImmutableBiMap.Builder<K,V>put(java.util.Map.Entry<? extends K,? extends V> entry)Adds the givenentryto the bimap.ImmutableBiMap.Builder<K,V>put(K key, V value)Associateskeywithvaluein the built bimap.ImmutableBiMap.Builder<K,V>putAll(java.lang.Iterable<? extends java.util.Map.Entry<? extends K,? extends V>> entries)Adds all of the given entries to the built bimap.ImmutableBiMap.Builder<K,V>putAll(java.util.Map<? extends K,? extends V> map)Associates all of the given map's keys and values in the built bimap.
-
-
-
Constructor Detail
-
Builder
public Builder()
Creates a new builder. The returned builder is equivalent to the builder generated byImmutableBiMap.builder().
-
-
Method Detail
-
put
public ImmutableBiMap.Builder<K,V> put(K key, V value)
Associateskeywithvaluein the built bimap. Duplicate keys or values are not allowed, and will causebuild()to fail.- Overrides:
putin classImmutableMap.Builder<K,V>
-
put
public ImmutableBiMap.Builder<K,V> put(java.util.Map.Entry<? extends K,? extends V> entry)
Adds the givenentryto the bimap. Duplicate keys or values are not allowed, and will causebuild()to fail.- Overrides:
putin classImmutableMap.Builder<K,V>- Since:
- 19.0
-
putAll
public ImmutableBiMap.Builder<K,V> putAll(java.util.Map<? extends K,? extends V> map)
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:
putAllin classImmutableMap.Builder<K,V>- Throws:
java.lang.NullPointerException- if any key or value inmapis null
-
putAll
@Beta public ImmutableBiMap.Builder<K,V> putAll(java.lang.Iterable<? extends java.util.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:
putAllin classImmutableMap.Builder<K,V>- Throws:
java.lang.NullPointerException- if any key, value, or entry is null- Since:
- 19.0
-
orderEntriesByValue
@Beta public ImmutableBiMap.Builder<K,V> orderEntriesByValue(java.util.Comparator<? super V> valueComparator)
Configures thisBuilderto 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:
orderEntriesByValuein classImmutableMap.Builder<K,V>- Throws:
java.lang.IllegalStateException- if this method was already called- Since:
- 19.0
-
build
public ImmutableBiMap<K,V> build()
Returns a newly-created immutable bimap.- Overrides:
buildin classImmutableMap.Builder<K,V>- Throws:
java.lang.IllegalArgumentException- if duplicate keys or values were added
-
-