Java でストリームを配列に変換する
-
Java で
convertStreamToArray()
メソッドを使用してストリームを配列に変換する -
Java で
toArray()
メソッドを使用してストリームを配列に変換する -
mapToInt()
メソッドの使用
ストリームは、多くのメソッドをサポートするオブジェクトのコレクションであり、目的の結果を生成するようにカスタマイズできます。
一方、配列は、同じ名前で宣言された同じデータ型変数のコレクションです。配列は、プリミティブデータ型またはクラスのオブジェクトとして定義できます。
配列をプリミティブデータ型として定義すると、実際の値は別のメモリ位置に格納されます。逆に、配列をクラスのオブジェクトとして定義すると、実際のオブジェクトはヒープセグメントに格納されます。
Java で convertStreamToArray()
メソッドを使用してストリームを配列に変換する
ストリームには、オブジェクト配列内のストリームの要素とともに配列を返す convertStreamtoArray()
メソッドが付属しています。
アルゴリズム
- 最初に整数のストリームを作成します。
- メソッド
Stream.toArray()
を使用して、整数のストリームを配列に変換します。 - 返される配列のタイプは
Object[]
です。 - 最後にその配列オブジェクトを返します。
プログラム
import java.util.*;
import java.util.stream.*;
public class sampleArticle {
// Function to convert Stream to Array
public static <D> Object[] convertStreamToArray(Stream<D> stream) {
return stream.toArray();
}
public static void main(String args[]) {
// Create a stream of integers
Stream<Integer> stream = Stream.of(2, 4, 6, 8, 10);
// Convert Stream to array
Object[] array = convertStreamToArray(stream);
// Print the array of stream
System.out.println("Array from Stream: " + Arrays.toString(array));
}
}
出力:
Array from Stream: [2,4,6,8,10]
Java で toArray()
メソッドを使用してストリームを配列に変換する
Java ストリームを配列に変換するためのもう 1つの事前定義された Java メソッドは、toArray()
です。このメソッドは、ストリームの要素を含む配列を返します。提供されたジェネレーター関数を使用して、返された配列および関数のパーティション実行に必要なその他の配列にスペースを割り当てます。
アルゴリズム
- ストリームを作成します。
- メソッド
toArray()
を使用して、ストリームを配列に変換します。このジョブを実行するには、返された配列にスペースを割り当てるためのジェネレーター関数として、Object []: new
を渡す必要があります。 - このプロセスで取得された配列は、タイプ
Object[]
です。
4.最後にオブジェクトArray[]
を返します。
プログラム
import java.util.*;
import java.util.stream.*;
public class sampleArticle {
// defining function that converts stream into an array
public static <D> Object[] convertStreamToArray(Stream<D> stream) {
return stream.toArray(Object[] ::new);
}
public static void main(String args[]) {
// Create a stream of integers
Stream<Integer> stream1 = Stream.of(2, 4, 6, 8, 10);
// Convert Stream to array
Object[] array = convertStreamToArray(stream1);
// Print the array of stream
System.out.println("Converted array from Stream: " + Arrays.toString(array));
}
}
出力:
Converted array from Stream: [2,4,6,8,10]
mapToInt()
メソッドの使用
Java 8 Stream には、指定されたストリームの要素を含む整数ストリームを返す mapToInt()
メソッドが付属しています。これは中間プロセスです。このようにして取得された intStream は、toArray()
メソッドを使用して整数配列(int []
)に変換されます。
アルゴリズム
1.整数のストリームを作成します
2.Stream.mapToInt()
メソッドを使用して、整数のストリームを整数ストリーム(intStream)に変換します。
3.toArray()
メソッドを使用して、結果のストリームを整数配列(int []
)に変換します。
4.このメソッドで取得される配列は、整数型です。
5.最後の整数配列(int []
)を返します。
プログラム
import java.util.*;
import java.util.stream.*;
public class sampleArticle {
// defining function that converts stream into an array
public static int[] convertStreamToArray(Stream<Integer> stream) {
return stream.mapToInt(Integer::intValue).toArray();
}
public static void main(String args[]) {
// Create a stream of integers
Stream<Integer> stream1 = Stream.of(2, 4, 6, 8, 10);
// Convert Stream to array
int[] array = convertStreamToArray(stream1);
// Print the array of stream
System.out.println("Converted array from Stream: " + Arrays.toString(array));
}
}
出力:
Converted array from Stream: [2,4,6,8,10]
関連記事 - Java Stream
- Java 8 ストリームのプロパティによる区別
- Java で Iterable を Stream に変換する
- Java での Stream Reduce 操作
- Java のストリームフィルター
- Java でリストをマップに変換する
- Java で配列をストリームに変換する方法