Class ImmutableList.Builder<E>

  • Enclosing class:
    ImmutableList<E>

    public static final class ImmutableList.Builder<E>
    extends ImmutableCollection.Builder<E>
    A builder for creating immutable list instances, especially public static final lists ("constant lists"). Example:
    
     public static final ImmutableList<Color> GOOGLE_COLORS
         = new ImmutableList.Builder<Color>()
             .addAll(WEBSAFE_COLORS)
             .add(new Color(0, 191, 255))
             .build();
     

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

    Builder instances can be reused; it is safe to call build() multiple times to build multiple lists in series. Each new list contains all the elements of the ones created before it.

    Since:
    2.0
    • Field Detail

      • contents

        java.lang.Object[] contents
      • size

        private int size
      • forceCopy

        private boolean forceCopy
    • Constructor Detail

      • Builder

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

        Builder​(int capacity)
    • Method Detail

      • getReadyToExpandTo

        private void getReadyToExpandTo​(int minCapacity)
      • add

        public ImmutableList.Builder<E> add​(E element)
        Adds element to the ImmutableList.
        Specified by:
        add in class ImmutableCollection.Builder<E>
        Parameters:
        element - the element to add
        Returns:
        this Builder object
        Throws:
        java.lang.NullPointerException - if element is null
      • add

        public ImmutableList.Builder<E> add​(E... elements)
        Adds each element of elements to the ImmutableList.
        Overrides:
        add in class ImmutableCollection.Builder<E>
        Parameters:
        elements - the Iterable to add to the ImmutableList
        Returns:
        this Builder object
        Throws:
        java.lang.NullPointerException - if elements is null or contains a null element
      • add

        private void add​(java.lang.Object[] elements,
                         int n)
      • addAll

        public ImmutableList.Builder<E> addAll​(java.lang.Iterable<? extends E> elements)
        Adds each element of elements to the ImmutableList.
        Overrides:
        addAll in class ImmutableCollection.Builder<E>
        Parameters:
        elements - the Iterable to add to the ImmutableList
        Returns:
        this Builder object
        Throws:
        java.lang.NullPointerException - if elements is null or contains a null element
      • addAll

        public ImmutableList.Builder<E> addAll​(java.util.Iterator<? extends E> elements)
        Adds each element of elements to the ImmutableList.
        Overrides:
        addAll in class ImmutableCollection.Builder<E>
        Parameters:
        elements - the Iterable to add to the ImmutableList
        Returns:
        this Builder object
        Throws:
        java.lang.NullPointerException - if elements is null or contains a null element