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();

Elements appear in the resulting set in the same order they were first added to the builder.

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 Details

    • Builder

      public Builder()
      Creates a new builder. The returned builder is equivalent to the builder generated by ImmutableSet.builder().
  • Method Details

    • add

      @CanIgnoreReturnValue 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:
      NullPointerException - if element is null
    • add

      @CanIgnoreReturnValue 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:
      NullPointerException - if elements is null or contains a null element
    • addAll

      @CanIgnoreReturnValue 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).
      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

      @CanIgnoreReturnValue 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>