## com.google.common.collect
Class ImmutableSet.Builder<E>

    java.lang.Object
      com.google.common.collect.ImmutableCollection.Builder<E>
          com.google.common.collect.ImmutableSet.Builder<E>

Direct Known Subclasses:
  ImmutableSortedSet.Builder

Enclosing class:
  ImmutableSet<E>

    public static class ImmutableSet.Builder<E>

extends ImmutableCollection.Builder<E>

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

       public static final ImmutableSet<Color> GOOGLE_COLORS =
           new ImmutableSet.Builder<Color>()
               .addAll(WEBSAFE_COLORS)
               .add(new Color(0, 191, 255))
               .build();

Builder instances can be reused; it is safe to call `build()` multiple times to build multiple sets in series. Each set is a superset of the set created before it.

Since:
  2.0 (imported from Google Collections Library)

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

Method Summary
`ImmutableSet.Builder<E>` `add(E... elements)` Adds each element of `elements` to the `ImmutableSet`, ignoring duplicate elements (only the first duplicate element is added).
`ImmutableSet.Builder<E>` `add(E element)` Adds `element` to the `ImmutableSet`.
`ImmutableSet.Builder<E>` `addAll(Iterable<? extends E> elements)` Adds each element of `elements` to the `ImmutableSet`, ignoring duplicate elements (only the first duplicate element is added).
`ImmutableSet.Builder<E>` `addAll(Iterator<? extends E> elements)` Adds each element of `elements` to the `ImmutableSet`, ignoring duplicate elements (only the first duplicate element is added).
`ImmutableSet<E>` `build()` Returns a newly-created `ImmutableSet` based on the contents of the `Builder`.

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

Constructor Detail

### ImmutableSet.Builder

    public ImmutableSet.Builder()

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

Method Detail

### add

    public ImmutableSet.Builder<E> add(E element)

  Adds `element` to the `ImmutableSet`. If the `ImmutableSet` already contains `element`, then `add` has no effect (only the previously added element is retained).

  Specified by:
    `add` in class `ImmutableCollection.Builder<E>`
  Parameters:
    `element` - the element to add
  Returns:
    this `Builder` object
  Throws:
    `NullPointerException` - if `element` is null

### add

    public ImmutableSet.Builder<E> add(E... elements)

  Adds each element of `elements` to the `ImmutableSet`, ignoring duplicate elements (only the first duplicate element is added).

  Overrides:
    `add` in class `ImmutableCollection.Builder<E>`
  Parameters:
    `elements` - the elements to add
  Returns:
    this `Builder` object
  Throws:
    `NullPointerException` - if `elements` is null or contains a null element

### addAll

    public ImmutableSet.Builder<E> addAll(Iterable<? extends E> elements)

  Adds each element of `elements` to the `ImmutableSet`, ignoring duplicate elements (only the first duplicate element is added).

  Overrides:
    `addAll` in class `ImmutableCollection.Builder<E>`
  Parameters:
    `elements` - the `Iterable` to add to the `ImmutableSet`
  Returns:
    this `Builder` object
  Throws:
    `NullPointerException` - if `elements` is null or contains a null element

### addAll

    public ImmutableSet.Builder<E> addAll(Iterator<? extends E> elements)

  Adds each element of `elements` to the `ImmutableSet`, ignoring duplicate elements (only the first duplicate element is added).

  Overrides:
    `addAll` in class `ImmutableCollection.Builder<E>`
  Parameters:
    `elements` - the elements to add to the `ImmutableSet`
  Returns:
    this `Builder` object
  Throws:
    `NullPointerException` - if `elements` is null or contains a null element

### build

    public ImmutableSet<E> build()

  Returns a newly-created `ImmutableSet` based on the contents of the `Builder`.

  Specified by:
    `build` in class `ImmutableCollection.Builder<E>`

Copyright © 2010-2012. All Rights Reserved.