AI-generated Key Takeaways
-
Stream.Builder
allows the creation of aStream
by adding elements individually, avoiding the overhead of using temporary buffers. -
The builder has two phases: a building phase where elements can be added and a built phase (triggered by
build()
) where the stream is created and no more elements can be added. -
accept(T t)
andadd(T t)
methods are used to add elements to the stream during the building phase. -
build()
method creates theStream
from the added elements and transitions the builder to the built state, preventing further modifications.
A mutable builder for a Stream
. This allows the creation of a
Stream
by generating elements individually and adding them to the
Builder
(without the copying overhead that comes from using
an ArrayList
as a temporary buffer.)
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.
See Also
Public Method Summary
abstract void |
accept(T t)
Adds an element to the stream being built.
|
Builder<T> |
add(T t)
Adds an element to the stream being built.
|
abstract Stream<T> |
build()
Builds the stream, transitioning this builder to the built state.
|
Inherited Method Summary
Public Methods
public abstract void accept (T t)
Adds an element to the stream being built.
Parameters
t | the input argument |
---|
Throws
IllegalStateException | if the builder has already transitioned to the built state |
---|
public Builder<T> add (T t)
Adds an element to the stream being built.
Parameters
t | the element to add |
---|
Returns
this
builder
Throws
IllegalStateException | if the builder has already transitioned to the built state |
---|
public abstract Stream<T> 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 |
---|