Stream.Builder (Java Platform SE 8 ) (original) (raw)
- Type Parameters:
T
- the type of stream elements
All Superinterfaces:
Consumer
Enclosing interface:
Stream<T>
public static interface Stream.Builder
extends Consumer
A mutable builder for a Stream
. This allows the creation of aStream
by generating elements individually and adding them to theBuilder
(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 orderedStream
whose elements are the elements that were added to the stream builder, in the order they were added.
Since:
1.8
See Also:
Stream.builder()
Method Summary
All Methods Instance Methods Abstract Methods Default Methods
Modifier and Type Method Description void accept(T t) Adds an element to the stream being built. default Stream.Builder<T> add(T t) Adds an element to the stream being built. Stream<T> build() Builds the stream, transitioning this builder to the built state. * ### Methods inherited from interface java.util.function.[Consumer](../../../java/util/function/Consumer.html "interface in java.util.function") `[andThen](../../../java/util/function/Consumer.html#andThen-java.util.function.Consumer-)`
Method Detail
* #### accept void accept([T](../../../java/util/stream/Stream.Builder.html "type parameter in Stream.Builder") t) Adds an element to the stream being built. Specified by: `[accept](../../../java/util/function/Consumer.html#accept-T-)` in interface `[Consumer](../../../java/util/function/Consumer.html "interface in java.util.function")<[T](../../../java/util/stream/Stream.Builder.html "type parameter in Stream.Builder")>` Parameters: `t` \- the input argument Throws: `[IllegalStateException](../../../java/lang/IllegalStateException.html "class in java.lang")` \- if the builder has already transitioned to the built state * #### add default [Stream.Builder](../../../java/util/stream/Stream.Builder.html "interface in java.util.stream")<[T](../../../java/util/stream/Stream.Builder.html "type parameter in Stream.Builder")> add([T](../../../java/util/stream/Stream.Builder.html "type parameter in Stream.Builder") 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](../../../java/lang/IllegalStateException.html "class in java.lang")` \- if the builder has already transitioned to the built state * #### build [Stream](../../../java/util/stream/Stream.html "interface in java.util.stream")<[T](../../../java/util/stream/Stream.Builder.html "type parameter in Stream.Builder")> 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](../../../java/lang/IllegalStateException.html "class in java.lang")` \- if the builder has already transitioned to the built state
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.