# Interface IntStream.Builder

All Superinterfaces:
  `IntConsumer`

Enclosing interface:
  `IntStream`

public static interface IntStream.Builder extends IntConsumer
A mutable builder for an `IntStream`.

A stream builder has a lifecycle, which starts in a building phase, during which elements can be added, and then transitions to a built phase, after which elements may not be added. The built phase begins when the `build()` method is called, which creates an ordered stream whose elements are the elements that were added to the stream builder, in the order they were added.

Since:
  1.8
See Also:
  - `IntStream.builder()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `accept(int t)`
  Adds an element to the stream being built.
  `default IntStream.Builder`
  `add(int t)`
  Adds an element to the stream being built.
  `IntStream`
  `build()`
  Builds the stream, transitioning this builder to the built state.

  ### Methods declared in interface IntConsumer

  `andThen`
  Modifier and Type
  Method
  Description
  `default IntConsumer`
  `andThen(IntConsumer after)`
  Returns a composed `IntConsumer` that performs, in sequence, this operation followed by the `after` operation.

- ## Method Details

  - ### accept

    void accept(int t)
    Adds an element to the stream being built.
    Specified by:
      `accept` in interface `IntConsumer`
    Parameters:
      `t` - the input argument
    Throws:
      `IllegalStateException` - if the builder has already transitioned to the built state

  - ### add

    default IntStream.Builder add(int t)
    Adds an element to the stream being built.
    Implementation Requirements:
      The default implementation behaves as if:

              accept(t)
              return this;

    Parameters:
      `t` - the element to add
    Returns:
      `this` builder
    Throws:
      `IllegalStateException` - if the builder has already transitioned to the built state

  - ### build

    IntStream build()
    Builds the stream, transitioning this builder to the built state. An `IllegalStateException` is thrown if there are further attempts to operate on the builder after it has entered the built state.
    Returns:
      the built stream
    Throws:
      `IllegalStateException` - if the builder has already transitioned to the built state