Javaのリストとセットから配列を作成するサンプルです。
目次
サンプル | リストから配列を作成する(toArray) |
リストの要素より配列の要素が多い場合 | |
リストの要素より配列の要素が少い場合 | |
セットから配列を作成する(toArray) |
リストから配列を作成する(toArray)
public <T> T[] toArray(T[] a) |
- toArrayメソッドは、リストから配列を作成します。
- Tは型で、aは配列です。
- 配列を変更しても元のリストは変更されません。
- リストを変更しても配列は変更されません。
- ListインターフェースやArrayListクラスにあるメソッドです。
リストから配列を作成するサンプルです。
package test1;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Test1 {
public static void main(String[] args) {
// リスト 要素2つ
List<String> list1 = new ArrayList<>(Arrays.asList("赤","青"));
// 空の配列 要素2つ
String[] ar1 = new String[list1.size()];
// リストから配列を作成
list1.toArray(ar1);
System.out.println
(Arrays.toString(ar1));//[赤, 青]
}
}
9行目は、リストを作成しています。
12行目は、配列で中身は空です。配列の要素数はリストのサイズでセットしています。
15行目は、toArrayメソッドでリストの値を配列にセットしています。
18行目は、配列の値を表示しています。
ArraysクラスのtoStringメソッドは、配列を引数にして、文字列を返します。
以下はJava8 API仕様のArrayListクラスのtoArrayメソッドのリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/util/ArrayList.html#toArray-T:A-
リストの要素より配列の要素が多い場合
toArrayメソッド使用時に、リストの要素より配列の要素が多い場合のサンプルです。
package test1;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Test1 {
public static void main(String[] args) {
// リスト 要素2つ
List<String> list1 = new ArrayList<>(Arrays.asList("赤","青"));
// 配列 要素3つ
String[] ar1 = new String[3];
// リストから配列を作成
list1.toArray(ar1);
System.out.println
(Arrays.toString(ar1));//[赤, 青, null]
}
}
12行目は、配列の要素数をリストより多くしています。
18行目は、3つ目の要素にnullがセットされます。
リストの要素より配列の要素が少い場合
toArrayメソッド使用時に、リストの要素より配列の要素が少い場合のサンプルです。
package test1;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Test1 {
public static void main(String[] args) {
// リスト 要素2つ
List<String> list1 = new ArrayList<>(Arrays.asList("赤","青"));
// 配列 要素1つ
String[] ar1 = new String[1];
// リストから配列を作成
list1.toArray(ar1);
System.out.println
(Arrays.toString(ar1));//[null]
}
}
12行目は、配列の要素数をリストより少なくしています。
18行目は、nullがセットされています。
セットから配列を作成する(toArray)
セットから配列を作成するサンプルです。
package test1;
import java.util.HashSet;
import java.util.Arrays;
import java.util.Set;
public class Test1 {
public static void main(String[] args) {
// セット 要素2つ
Set<String> set1 = new HashSet<>(Arrays.asList("赤","青"));
// 空の配列 要素2つ
String[] ar1 = new String[set1.size()];
// セットから配列を作成
set1.toArray(ar1);
System.out.println
(Arrays.toString(ar1));//[青, 赤]
}
}
15行目は、toArrayメソッドでセットから配列を作成しています。
関連の記事
Java 配列の仕組みと使い方のサンプル
Java ArrayListとListの使い方のサンプル
Java 配列からリスト・セットを作成(addAll/asList)