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, 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)
         .buildOrThrow();
 

For small immutable bimaps, the ImmutableBiMap.of() methods are even more convenient.

By default, a Builder will generate bimaps that iterate over entries in the order they were inserted into the builder. For example, in the above example, WORD_TO_INT.entrySet() is guaranteed to iterate over the entries in the order "one"=1, "two"=2, "three"=3, and keySet() and values() respect the same order. If you want a different order, consider using orderEntriesByValue(Comparator), which changes this builder to sort entries by value.

Builder instances can be reused - it is safe to call buildOrThrow() multiple times to build multiple bimaps in series. Each bimap is a superset of the bimaps created before it.

Since:
2.0
Author:
Jared Levy