はじめに
Javaでは、2つ以上の配列を1つの配列に結合する必要がある場合がよくあります。これはJava 8のストリームAPIを使用して達成できます。この実験では、Javaコードを使用して複数の配列を1つの配列に結合する方法を学びます。
Javaでは、2つ以上の配列を1つの配列に結合する必要がある場合がよくあります。これはJava 8のストリームAPIを使用して達成できます。この実験では、Javaコードを使用して複数の配列を1つの配列に結合する方法を学びます。
まず、次のコマンドを使用して~/project/
ディレクトリにArraysJoin.java
という名前のJavaファイルを作成します。
touch ~/project/ArraysJoin.java
Java 8のストリームAPIを使用するために必要なライブラリをインポートします。
import java.util.stream.Stream;
結合したい2つの配列を定義します。ここでは、2つの文字列配列asia
とeurope
を使用します。
String[] asia = new String[]{"India", "Russia", "Japan"};
String[] europe = new String[]{"Poland", "Germany", "France"};
次に、Java 8のStream APIを使って、両方の配列を結合した新しい配列を初期化します。
String[] countries = Stream.of(asia,europe).flatMap(Stream::of).toArray(String[]::new);
上記の例では、flatMap()
メソッドを使って2つの配列をマージし、文字列をストリームに変換し、toArray()
メソッドでストリームを文字列の配列に変換しています。
最後に、forループを使って結合した配列の要素を出力します。
for (String country : countries) {
System.out.println(country);
}
指定された型のストリームを返すconcat()
メソッドを使用して、2つのストリームをマージすることもできます。この例では、2つ以上のストリームを1つのストリームに連結する方法を示しています。
Stream<Integer> stream1 = Stream.of(1, 2, 3);
Stream<Integer> stream2 = Stream.of(4, 5, 6);
//concat arrays
Stream<Integer> result = Stream.concat(stream1, stream2);
result.forEach(System.out::println);
次のコマンドを使用してJavaファイルをコンパイルします。
javac ~/project/ArraysJoin.java
次のコマンドを使用してJavaプログラムを実行します。
java -cp ~/project ArraysJoin
出力:
インド
ロシア
日本
ポーランド
ドイツ
フランス
1
2
3
4
5
6
この実験では、Java 8のストリームAPIを使用して複数の配列を1つの配列に結合する方法を学びました。また、複数のストリームを1つのストリームに連結する方法も学びました。配列とストリームの結合と連結の概念は、単一のソース プラットフォームに格納する必要がある大量のデータを扱う際のプログラミングで使用されます。