## com.google.common.collect
Class ImmutableSetMultimap.Builder<K,V>

    java.lang.Object
      com.google.common.collect.ImmutableMultimap.Builder<K,V>
          com.google.common.collect.ImmutableSetMultimap.Builder<K,V>

Enclosing class:
  ImmutableSetMultimap<K,V>

    public static final class ImmutableSetMultimap.Builder<K,V>

extends ImmutableMultimap.Builder<K,V>

A builder for creating immutable `SetMultimap` instances, especially `public static final` multimaps ("constant multimaps"). Example:

       static final Multimap<String, Integer> STRING_TO_INTEGER_MULTIMAP =
           new ImmutableSetMultimap.Builder<String, Integer>()
               .put("one", 1)
               .putAll("several", 1, 2, 3)
               .putAll("many", 1, 2, 3, 4, 5)
               .build();

Builder instances can be reused; it is safe to call `build()` multiple times to build multiple multimaps in series. Each multimap contains the key-value mappings in the previously created multimaps.

Since:
  2.0 (imported from Google Collections Library)

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

Method Summary
`ImmutableSetMultimap<K,V>` `build()` Returns a newly-created immutable set multimap.
`ImmutableSetMultimap.Builder<K,V>` `orderKeysBy(Comparator<? super K> keyComparator)` Specifies the ordering of the generated multimap's keys.
`ImmutableSetMultimap.Builder<K,V>` `orderValuesBy(Comparator<? super V> valueComparator)` Specifies the ordering of the generated multimap's values for each key.
`ImmutableSetMultimap.Builder<K,V>` `put(K key, V value)` Adds a key-value mapping to the built multimap if it is not already present.
`ImmutableSetMultimap.Builder<K,V>` `put(Map.Entry<? extends K,? extends V> entry)` Adds an entry to the built multimap if it is not already present.
`ImmutableSetMultimap.Builder<K,V>` `putAll(K key, Iterable<? extends V> values)` Stores a collection of values with the same key in the built multimap.
`ImmutableSetMultimap.Builder<K,V>` `putAll(K key, V... values)` Stores an array of values with the same key in the built multimap.
`ImmutableSetMultimap.Builder<K,V>` `putAll(Multimap<? extends K,? extends V> multimap)` Stores another multimap's entries in the built multimap.

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

Constructor Detail

### ImmutableSetMultimap.Builder

    public ImmutableSetMultimap.Builder()

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

Method Detail

### put

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

  Adds a key-value mapping to the built multimap if it is not already present.

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

### put

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

  Adds an entry to the built multimap if it is not already present.

  Overrides:
    `put` in class `ImmutableMultimap.Builder<K,V>`
  Since:
    11.0

### putAll

    public ImmutableSetMultimap.Builder<K,V> putAll(K key,
                                                    Iterable<? extends V> values)

  Description copied from class: `ImmutableMultimap.Builder`
  Stores a collection of values with the same key in the built multimap.

  Overrides:
    `putAll` in class `ImmutableMultimap.Builder<K,V>`

### putAll

    public ImmutableSetMultimap.Builder<K,V> putAll(K key,
                                                    V... values)

  Description copied from class: `ImmutableMultimap.Builder`
  Stores an array of values with the same key in the built multimap.

  Overrides:
    `putAll` in class `ImmutableMultimap.Builder<K,V>`

### putAll

    public ImmutableSetMultimap.Builder<K,V> putAll(Multimap<? extends K,? extends V> multimap)

  Description copied from class: `ImmutableMultimap.Builder`
  Stores another multimap's entries in the built multimap. The generated multimap's key and value orderings correspond to the iteration ordering of the `multimap.asMap()` view, with new keys and values following any existing keys and values.

  Overrides:
    `putAll` in class `ImmutableMultimap.Builder<K,V>`

### orderKeysBy

    @Beta
    public ImmutableSetMultimap.Builder<K,V> orderKeysBy(Comparator<? super K> keyComparator)

  Specifies the ordering of the generated multimap's keys.

  Overrides:
    `orderKeysBy` in class `ImmutableMultimap.Builder<K,V>`
  Since:
    8.0

### orderValuesBy

    @Beta
    public ImmutableSetMultimap.Builder<K,V> orderValuesBy(Comparator<? super V> valueComparator)

  Specifies the ordering of the generated multimap's values for each key.

  If this method is called, the sets returned by the `get()` method of the generated multimap and its `Multimap.asMap()` view are `ImmutableSortedSet` instances. However, serialization does not preserve that property, though it does maintain the key and value ordering.

  Overrides:
    `orderValuesBy` in class `ImmutableMultimap.Builder<K,V>`
  Since:
    8.0

### build

    public ImmutableSetMultimap<K,V> build()

  Returns a newly-created immutable set multimap.

  Overrides:
    `build` in class `ImmutableMultimap.Builder<K,V>`

Copyright © 2010-2012. All Rights Reserved.