Converter Lista para Array

JavaBeginner
Pratique Agora

Introdução

Neste laboratório, aprenderemos como converter uma List em um array em Java. A List é uma estrutura de dados linear que armazena dados, enquanto o array é uma estrutura de dados indexada que armazena tipos de dados semelhantes. Usaremos o método toArray() da interface List, que retorna um array de objetos.

Criar uma Lista

Criaremos uma List de vegetais e imprimiremos seus elementos.

import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<String> vegetables = new ArrayList<>();
        vegetables.add("Carrot");
        vegetables.add("Potato");
        vegetables.add("Tomato");
        System.out.println("Vegetables List: " + vegetables);
    }
}

Compile e execute o código acima usando o seguinte comando.

javac Main.java && java Main

Converter Lista para Array

Agora converteremos a List em um array usando o método toArray(). O método toArray() retorna um array de elementos Object. Portanto, se você deseja obter outro tipo de array, passe um objeto desse tipo como argumento.

//Conversion List to Array
String[] newArray =  vegetables.toArray(new String[0] );
System.out.println("New Array: " + newArray);
for (int i = 0; i < newArray.length; i++) {
    System.out.println(newArray[i]);
}

Compile e execute o código acima usando o seguinte comando.

javac Main.java && java Main

Converter com o Método Stream()

Se você estiver usando Java 8 ou uma versão superior, pode usar o método stream() para obter um fluxo (stream) de elementos e, em seguida, usar a sintaxe de referência de método para obter um array de elementos do tipo string da lista.

//Conversion List to Array with Stream Method
String[] newArray =  vegetables.stream().toArray(String[]::new);
System.out.println("New Array: " + newArray);
for (int i = 0; i < newArray.length; i++) {
    System.out.println(newArray[i]);
}

Compile e execute o código acima usando o seguinte comando.

javac Main.java && java Main

Converter Diretamente Usando o Método toArray()

Se você estiver usando as versões mais recentes do Java, pode obter um array da lista sem usar o método stream() e usar diretamente o método toArray().

//Conversion List to Array without using stream() method
String[] newArray =  vegetables.toArray(String[]::new);
System.out.println("New Array: " + newArray);
for (int i = 0; i < newArray.length; i++) {
    System.out.println(newArray[i]);
}

Compile e execute o código acima usando o seguinte comando.

javac Main.java && java Main

Resumo

Neste laboratório, aprendemos como converter uma List em um array em Java. Usamos o método toArray() da interface List para converter a List em um array. Também aprendemos vários métodos para converter a List em um array, como usar o método stream() ou usar diretamente o método toArray().