## 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>

    public static class ImmutableMap.Builder<K,V>

extends Object

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

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

Method Summary
`ImmutableMap<K,V>` `build()` Returns a newly-created immutable map.
`ImmutableMap.Builder<K,V>` `put(K key, V value)` Associates `key` with `value` in the built map.
`ImmutableMap.Builder<K,V>` `put(Map.Entry<? extends K,? extends V> entry)` Adds the given `entry` to the map, making it immutable if necessary.
`ImmutableMap.Builder<K,V>` `putAll(Map<? extends K,? extends V> map)` Associates all of the given map's keys and values in the built map.

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

Constructor Detail

### ImmutableMap.Builder

    public ImmutableMap.Builder()

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

Method Detail

### put

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

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

### put

    public ImmutableMap.Builder<K,V> put(Map.Entry<? extends K,? extends V> entry)

  Adds the given `entry` to the map, making it immutable if necessary. Duplicate keys are not allowed, and will cause `build()` to fail.

  Since:
    11.0

### putAll

    public ImmutableMap.Builder<K,V> putAll(Map<? extends K,? extends V> map)

  Associates all of the given map's keys and values in the built map. Duplicate keys are not allowed, and will cause `build()` to fail.

  Throws:
    `NullPointerException` - if any key or value in `map` is null

### build

    public ImmutableMap<K,V> build()

  Returns a newly-created immutable map.

  Throws:
    `IllegalArgumentException` - if duplicate keys were added

Copyright © 2010-2012. All Rights Reserved.