Javaでストリームから配列に変換する方法について記載します。
目次
ストリームから配列に変換する方法
toArray メソッドを使用します。
toArrayメソッドには、引数なし と 引数あり があります。
1. 引数なしの場合
引数なしの場合の戻り値は、Object型になります。
使用する際は、適切な型にキャストする必要があります。
構文
toArray()
戻り値
Object[]
実行例
1 2 3 4 5 6 |
// Objectの配列として取得 List<Integer> list = Arrays.asList(10,20,30,40,50); Stream<Integer> stream1 = list.stream(); Object[] objArray = stream1.toArray(); System.out.println( Arrays.toString(objArray) ); // [10, 20, 30, 40, 50] |
2. 引数ありの場合
引数で戻り値の型を指定できます。
構文
toArray(IntFunction<A[]> generator)
戻り値
<A> A[]
実行例
1 2 3 4 5 6 |
// Integerの配列として取得 List<Integer> list = Arrays.asList(10,20,30,40,50); Stream<Integer> stream2 = list.stream(); Integer[] intArray = stream2.toArray( Integer[]::new ); // toArray( i -> new Integer[i] ) と同じ System.out.println( Arrays.toString(intArray) ); // [10, 20, 30, 40, 50] |