Java 8 ストリームを配列に変換するにはどうすればいいですか? 質問する

Java 8 ストリームを配列に変換するにはどうすればいいですか? 質問する

StreamJava 8を配列に変換する最も簡単/最短の方法は何ですか?

ベストアンサー1

最も簡単な方法は、toArray(IntFunction<A[]> generator)配列コンストラクタ参照でメソッドを使用することです。これは、メソッドのAPIドキュメント

String[] stringArray = stringStream.toArray(String[]::new);

これは、整数 (サイズ) を引数として受け取り、 を返すメソッドを見つけます。String[]これは、まさに (のオーバーロードの 1 つ)new String[]が行うことです。

独自のコードを書くこともできますIntFunction:

Stream<String> stringStream = ...;
String[] stringArray = stringStream.toArray(size -> new String[size]);

の目的はIntFunction<A[]> generator、配列のサイズである整数を新しい配列に変換することです。

コード例:

Stream<String> stringStream = Stream.of("a", "b", "c");
String[] stringArray = stringStream.toArray(size -> new String[size]);
Arrays.stream(stringArray).forEach(System.out::println);

プリント:

a
b
c

おすすめ記事