ImmutableSet.Builder
Date: 2016-05-24

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 `ImmutableSet` instances. Example:

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

  Building does not change the state of the builder, so it is still possible to add more elements and to build again.

  Since:
    2.0

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ImmutableSet.Builder()` Creates a new builder.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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(java.lang.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(java.util.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).
      Parameters:
        `element` - the element to add
      Returns:
        this `Builder` object
      Throws:
        `java.lang.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).
      Parameters:
        `elements` - the elements to add
      Returns:
        this `Builder` object
      Throws:
        `java.lang.NullPointerException` - if `elements` is null or contains a null element

    - #### addAll

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

      Adds each element of `elements` to the `ImmutableSet`, ignoring duplicate elements (only the first duplicate element is added).
      Parameters:
        `elements` - the `Iterable` to add to the `ImmutableSet`
      Returns:
        this `Builder` object
      Throws:
        `java.lang.NullPointerException` - if `elements` is null or contains a null element

    - #### addAll

          public ImmutableSet.Builder<E> addAll(java.util.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:
        `java.lang.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>`