Java Stream concat Example

1. Introduction

This tutorial covers the concat() static method in the Java Stream API. concat() is used to concatenate two streams into one. It is particularly useful when you need to merge data from two sources into a single stream for uniform processing.

Key Points

1. concat() combines two streams into one stream.

2. It is a static method of the Stream class.

3. It handles null values gracefully, throwing a NullPointerException if either of the input streams is null.

2. Program Steps

1. Create two separate Streams of elements.

2. Use Stream.concat() to merge these two streams.

3. Collect or process the resulting stream to demonstrate the concatenation effect.

3. Code Program

import java.util.List;

public class StreamConcatExample {

    public static void main(String[] args) {
        // First stream of numbers
        Stream<Integer> firstStream = Stream.of(1, 2, 3);

        // Second stream of numbers
        Stream<Integer> secondStream = Stream.of(4, 5, 6);

        // Concatenating streams
        Stream<Integer> concatenatedStream = Stream.concat(firstStream, secondStream);

        // Collecting and printing the concatenated stream
        List<Integer> concatenatedList = concatenatedStream.collect(Collectors.toList());
        System.out.println("Concatenated List: " + concatenatedList);


Concatenated List: [1, 2, 3, 4, 5, 6]


1. Stream.of(1, 2, 3) creates the first stream containing the integers 1, 2, and 3.

2. Stream.of(4, 5, 6) creates the second stream containing the integers 4, 5, and 6.

3. Stream.concat(firstStream, secondStream) uses the concat() method to merge the two streams into one.

4. concatenatedStream.collect(Collectors.toList()) collects the elements of the concatenated stream into a list, showing the combined sequence of numbers from both streams.