はじめに
Java では、配列は同じ型のデータを格納するインデックスベースのデータ構造であり、セットは一意の要素のコレクションです。Java で配列をセットに変換するプロセスは、重複する要素が不要な場合に特に一般的なユースケースです。この実験では、さまざまな方法を使って Java で配列をセットに変換する方法を学びます。
Java では、配列は同じ型のデータを格納するインデックスベースのデータ構造であり、セットは一意の要素のコレクションです。Java で配列をセットに変換するプロセスは、重複する要素が不要な場合に特に一般的なユースケースです。この実験では、さまざまな方法を使って Java で配列をセットに変換する方法を学びます。
次のコマンドを使って、~/project
ディレクトリに新しい Java ファイルを作成しましょう。
touch ~/project/ArrayToSet.java
私たちの Java ファイルでは、まず最初にプログラムに必要なクラスをインポートする必要があります。私たちは HashSet、Collections、Arrays、および Set クラスを使用します。これらのクラスをインポートするには、次のコードを追加します。
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
いくつかの重複する要素を持つ簡単な文字列の配列を作成しましょう。次のコードを追加します。
String[] fruits = {"Apple", "Orange", "Banana", "Orange"};
このステップでは、Collections クラスの addAll() メソッドを使って配列をセットに変換します。addAll() メソッドは、配列のすべての要素を指定されたコレクションに追加します。main() メソッドに次のコードを追加します。
Set<String> fruitsSet = new HashSet<>();
Collections.addAll(fruitsSet, fruits);
System.out.println(fruitsSet);
このステップでは、Arrays クラスの asList() メソッドを使って配列をセットに変換します。asList() メソッドは配列のリストを返し、これを Set コンストラクタを使ってセットに変換できます。main() メソッドに次のコードを追加します。
Set<String> fruitsSet = new HashSet<>(Arrays.asList(fruits));
System.out.println(fruitsSet);
このステップでは、Java 8 の Stream の Collectors クラスの toSet() メソッドを使って配列をセットに変換します。toSet() メソッドは、Stream の要素を Set インスタンスに収集します。main() メソッドに次のコードを追加します。
Set<String> fruitsSet = Arrays.stream(fruits)
.collect(Collectors.toSet());
System.out.println(fruitsSet);
次のコマンドを使って Java プログラムをコンパイルして実行できます。
javac ArrayToSet.java && java ArrayToSet
出力では、変換中にセットに追加された配列の一意の要素が表示されるはずです。
この実験では、Java で配列をセットに変換する 3 つの異なる方法、すなわち addAll()、asList()、および Java 8 Streams の toSet() を学びました。また、必要なクラスをインポートし、配列を作成し、コマンド ラインを使って Java プログラムを実行する方法も学びました。これらの概念を理解することで、Java で配列をセットに簡単に変換できます。