Como Converter Lista para Array em Java
- Converter uma lista em um array de em Java
-
Utilize
toArray()
para Converter uma lista em um array de tipos de referência em Java -
Utilize
stream()
para converter uma lista para um array em Java
Este tutorial discute métodos para converter uma lista para uma array em Java.
Converter uma lista em um array de em Java
Este método simplesmente cria uma nova array com o mesmo tamanho da lista e faz iterações sobre a lista preenchendo a array com elementos. O exemplo abaixo ilustra isto:
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);
}
}
A array resultante contém todos os elementos da lista. Note que este método não deve ser usado se a array resultante for de tipos não-primitivos.
Utilize toArray()
para Converter uma lista em um array de tipos de referência em Java
Este método é usado se a lista contém elementos de tipos de referência, tais como objetos de uma classe. Podemos utilizar o método embutido toArray()
para converter uma lista desse tipo em um array. O exemplo abaixo ilustra isto:
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());
}
}
}
Utilize stream()
para converter uma lista para um array em Java
Para Java 8 e acima, também podemos utilizar o método Stream API’s stream()
para converter uma lista para uma array em Java. O exemplo abaixo ilustra isto:
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));
}
}