Java リスト・セットから配列を作成(toArray)

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)

△上に戻る