Class 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 Detail

      • Builder

        public Builder()
      • Builder

        Builder​(int capacity)
      • Builder

        Builder​(boolean subclass)
    • Method Detail

      • forceJdk

        void forceJdk()
      • copyIfNecessary

        final void copyIfNecessary()
      • copy

        void copy()
      • add

        public ImmutableSet.Builder<E> add​(E... elements)
        Description copied from class: ImmutableCollection.Builder
        Adds each element of elements to the ImmutableCollection being built.

        Note that each builder class overrides this method in order to covariantly return its own type.

        Overrides:
        add in class ImmutableCollection.Builder<E>
        Parameters:
        elements - the elements to add
        Returns:
        this Builder instance
      • 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).
        Overrides:
        addAll in class ImmutableCollection.Builder<E>
        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.util.Iterator<? extends E> elements)
        Description copied from class: ImmutableCollection.Builder
        Adds each element of elements to the ImmutableCollection being built.

        Note that each builder class overrides this method in order to covariantly return its own type.

        Overrides:
        addAll in class ImmutableCollection.Builder<E>
        Parameters:
        elements - the elements to add
        Returns:
        this Builder instance
      • build

        public ImmutableSet<E> build()
        Description copied from class: ImmutableCollection.Builder
        Returns a newly-created ImmutableCollection of the appropriate type, containing the elements provided to this builder.

        Note that each builder class covariantly returns the appropriate type of ImmutableCollection from this method.

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