Java リストから配列を作成する(toArrayメソッド)

JavaのArrayListクラスのtoArrayメソッドで、リストから配列を作成するサンプルです。

確認環境
・Java 8

目次

リストから配列 ArrayListクラスのtoArrayメソッド
  リストより配列が多い場合
  リストより配列が少い場合
配列からリスト 配列からリストを作成する(addAll/asListメソッド)※別ページ

toArrayメソッド

public <T> T[] toArray(T[] a)
  • toArrayメソッドは、リストから配列を作成します。
  • Tは型で、aは格納先の配列です。
  • 配列を変更しても元のリストは変更されません。
  • リストを変更しても配列は変更されません。
  • ArrayListクラスのメソッドです。
  • 以下はJava8 API仕様のArrayListクラスのtoArrayメソッドのリンクです。
    https://docs.oracle.com/javase/jp/8/docs/api/java/util/ArrayList.html#toArray-T:A-

コード

リストから配列を作成するサンプルです。

package test1;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class Test1 {
    public static void main(String[] args) {
    	// リスト
    	List<String> list1 = new ArrayList<>(Arrays.asList("赤","黄","青"));
        
		// 配列
		String[] ar1 = new String[list1.size()];
		
		// リストから配列を作成
		list1.toArray(ar1);
		
		System.out.println
			(Arrays.toString(ar1));//[赤, 黄, 青]
    }
}

10行目は、リストを作成しています。
13行目は、配列で中身は空です。配列の要素数はリストのサイズでセットしています。
16行目は、toArrayメソッドでリストの値を配列にセットしています。
19行目は、配列の値を表示しています。
ArraysクラスのtoStringメソッドは、配列を引数にして、文字列を返します。

リストより配列が多い場合

toArrayメソッド使用時に、リストより配列が多い場合のサンプルです。

package test1;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class Test1 {
    public static void main(String[] args) {
    	// リスト
    	List<String> list1 = new ArrayList<>(Arrays.asList("赤","黄","青"));
        
		// 配列(要素数を多くする)
		String[] ar1 = new String[4];
		
		// リストから配列を作成
		list1.toArray(ar1);
		
		System.out.println
			(Arrays.toString(ar1));//[赤, 黄, 青, null]
    }
}

13行目は、配列の要素数をリストより多くしています。
16行目は、リストから配列を作成しています。
19行目は、配列を表示しています。4つ目の要素にnullがセットされています。

リストより配列が少い場合

toArrayメソッド使用時に、リストより配列が少い場合のサンプルです。

package test1;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class Test1 {
    public static void main(String[] args) {
    	// リスト
    	List<String> list1 = new ArrayList<>(Arrays.asList("赤","黄","青"));
        
		// 配列
		String[] ar1 = new String[1];
		
		// リストから配列を作成
		list1.toArray(ar1);
		
		System.out.println
			(Arrays.toString(ar1));//[null]
    }
}

13行目は、配列の要素数をリストより少なくしています。
16行目は、リストから配列を作成しています。
19行目は、配列を表示しています。nullがセットされています。

関連の記事

Java 配列の仕組みと使い方のサンプル
Java ArrayListの使い方のサンプル
Java 配列からリストを作成する(addAll/asListメソッド)

△上に戻る