Java でリストを配列に変換する方法

Hassan Saeed 2023年1月30日 2020年11月2日
  1. Java でリストを配列に変換する
  2. Java でリストを参照型の配列に変換するには toArray() を使用する
  3. Java でリストを配列に変換するには stream() を使用する
Java でリストを配列に変換する方法

このチュートリアルでは、Java でリストを配列に変換する方法について説明します。

Java でリストを配列に変換する

このメソッドは、単純にリストと同じサイズの新しい配列を作成し、リストを繰り返し処理して配列を要素で埋めます。次の例はこれを示しています。

import java.util.*;
public class MyClass {
    public static void main(String args[]) {
        List<Integer> list = new ArrayList();
        list.add(1);
        list.add(2);
        int[] array = new int[list.size()];
        for(int i = 0; i < list.size(); i++) 
            array[i] = list.get(i);
    }
}

結果として得られる配列には、リストのすべての要素が含まれます。結果の配列が非プリミティブ型の場合は、このメソッドを使用するべきではないことに注意してください。

Java でリストを参照型の配列に変換するには toArray() を使用する

このメソッドは、リストにクラスのオブジェクトなどの参照型の要素が含まれている場合に用いられます。このような型のリストを配列に変換するには、組み込みのメソッド toArray() を用いることができます。以下の例はこれを示しています。

import java.util.*;
public class MyClass {
    public static void main(String args[]) {
        List<Foo> list = new ArrayList();
        list.add(obj);
        Foo[] array = list.toArray(new Foo[0]);

    }
}

Java でリストを配列に変換するには stream() を使用する

Java 8 以上では、Java でリストを配列に変換するために Stream API の stream() メソッドを使用することもできます。以下の例はこれを示しています。

import java.util.*;
public class MyClass {
    public static void main(String args[]) {
        List<Integer> list = new ArrayList();
        list.add(1);
        list.add(2);
        Integer[] integers = list.stream().toArray(Integer[]::new);
    }
}

関連記事 - Java Array