## 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, 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 (imported from Google Collections Library)

Constructor Summary
`ImmutableBiMap.Builder()` Creates a new builder.

Method Summary
`ImmutableBiMap<K,V>` `build()` Returns a newly-created immutable bimap.
`ImmutableBiMap.Builder<K,V>` `put(K key, V value)` Associates `key` with `value` in the built bimap.
`ImmutableBiMap.Builder<K,V>` `putAll(Map<? extends K,? extends V> map)` Associates all of the given map's keys and values in the built bimap.

Methods inherited from class com.google.common.collect.ImmutableMap.Builder
`put`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ImmutableBiMap.Builder

    public ImmutableBiMap.Builder()

  Creates a new builder. The returned builder is equivalent to the builder generated by `ImmutableBiMap.builder()`.

Method Detail

### put

    public ImmutableBiMap.Builder<K,V> put(K key,
                                           V value)

  Associates `key` with `value` in the built bimap. Duplicate keys or values are not allowed, and will cause `build()` to fail.

  Overrides:
    `put` in class `ImmutableMap.Builder<K,V>`

### putAll

    public ImmutableBiMap.Builder<K,V> putAll(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 cause `build()` to fail.

  Overrides:
    `putAll` in class `ImmutableMap.Builder<K,V>`
  Throws:
    `NullPointerException` - if any key or value in `map` is null

### build

    public ImmutableBiMap<K,V> build()

  Returns a newly-created immutable bimap.

  Overrides:
    `build` in class `ImmutableMap.Builder<K,V>`
  Throws:
    `IllegalArgumentException` - if duplicate keys or values were added

Copyright © 2010-2012. All Rights Reserved.