Java Stream toArray() Example

1. Introduction

This tutorial explores the toArray() method of the Java Stream API. This method is used to convert a Stream into an array, allowing for easy manipulation and access of Stream elements in a form that is familiar to most Java developers.

Key Points

1. Convert a Stream to an array using the simple toArray() method.

2. Use toArray(IntFunction) to create arrays of a specific type.

3. The Java Stream toArray() method is a terminal operation that starts the internal iteration of the elements in the stream and returns an array of Objects containing all the elements.

2. Program Steps

1. Create a Stream of elements.

2. Convert the Stream to an array using toArray().

3. Convert the Stream to an array of a specific type using toArray(IntFunction<A[]>).

3. Code Program

import java.util.Arrays;
import java.util.stream.Stream;

public class StreamToArrayExample {

    public static void main(String[] args) {
        // Create a Stream of Strings
        Stream<String> stringStream = Stream.of("apple", "banana", "cherry", "date");
        // Convert Stream to Array using simple toArray()
        String[] stringArray = stringStream.toArray(String[]::new);
        System.out.println("Array of Strings: " + Arrays.toString(stringArray));

        // Create a Stream of Integers
        Stream<Integer> integerStream = Stream.of(1, 2, 3, 4, 5);
        // Convert Stream to Array of Integers
        Integer[] integerArray = integerStream.toArray(Integer[]::new);
        System.out.println("Array of Integers: " + Arrays.toString(integerArray));
    }
}

Output:

Array of Strings: [apple, banana, cherry, date]
Array of Integers: [1, 2, 3, 4, 5]

Explanation:

1. Stream.of("apple", "banana", "cherry", "date") creates a stream of strings.

2. stringStream.toArray(String[]::new) converts the stream of strings into an array.

3. Stream.of(1, 2, 3, 4, 5) creates a stream of integers.

4. integerStream.toArray(Integer[]::new) converts the stream of integers into an array of Integer objects.

Comments