ストリームを配列に変換する方法

JavaBeginner
オンラインで実践に進む

はじめに

Java において、ストリームは機能的なアプローチで操作を行うことができる要素のシーケンスです。一方、配列は同じ型の要素を格納するオブジェクトです。この実験では、Java でストリームを配列に変換する方法を学びます。

整数型のストリームを int 配列に変換する

このステップでは、IntStreamrangeClosed() メソッドを使用して整数のシーケンスを作成し、toArray() メソッドを使用してそれを配列に変換します。

import java.util.stream.IntStream;

public class StreamToArray {
    public static void main(String[] args){
        IntStream integerStream = IntStream.rangeClosed(1, 5);

        // ストリームを int 配列に変換する
        int[] arr = integerStream.toArray();

        // 配列の各要素を出力する
        for(int e: arr) {
            System.out.println(e);
        }
    }
}

コードの出力は以下の通りです。

1
2
3
4
5

文字列を含むストリームを文字列配列に変換する

このステップでは、リストから文字列を含むストリームを作成し、toArray() メソッドを使用してそれを配列に変換します。

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

public class StreamToArray {
    public static void main(String[] args){
        Stream<String> stream = List.of("UK", "US", "BR").stream();

        // 文字列を含むストリームを文字列配列に変換する
        String[] strArray = stream.toArray(String[]::new);

        // 文字列配列の各要素を出力する
        for(String str : strArray) {
            System.out.println(str);
        }

        // 文字列配列を再度ストリームに変換する
        Stream<String> stringStream = Arrays.stream(strArray);

        // ストリームの各要素を出力する
        stringStream.forEach(System.out::println);
    }
}

コードの出力は以下の通りです。

UK
US
BR

UK
US
BR

まとめ

この実験では、Java でストリームを配列に変換する方法を学びました。ストリームの toArray() メソッドを使用して配列に変換しました。このメソッドの構文は簡単で、指定された型の配列を返します。整数型と文字列型のストリームをそれぞれの配列に変換する例を見ました。