Java でリストを配列に変換する方法
Hassan Saeed
2023年10月12日
このチュートリアルでは、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[]) {
// Define the Foo class
class Foo {
private int value;
public Foo(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
// Create instances of Foo
Foo obj1 = new Foo(42);
Foo obj2 = new Foo(99);
// Create a List of Foo objects
List<Foo> list = new ArrayList<>();
// Add the obj1 and obj2 to the list
list.add(obj1);
list.add(obj2);
// Convert the list to an array
Foo[] array = list.toArray(new Foo[0]);
// Print the values from the array
for (Foo foo : array) {
System.out.println("Value: " + foo.getValue());
}
}
}
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);
// Print the converted array
System.out.println(Arrays.toString(integers));
}
}