Comment convertir une liste en tableau en Java

Hassan Saeed 12 octobre 2023
  1. Convertir une liste en un tableau de en Java
  2. Utilisez toArray() pour convertir une liste en un tableau de types de référence en Java
  3. Utiliser stream() pour convertir une liste en tableau en Java
Comment convertir une liste en tableau en Java

Ce tutoriel traite des méthodes de conversion d’une liste en tableau en Java.

Convertir une liste en un tableau de en Java

Cette méthode consiste simplement à créer un nouveau tableau de la même taille que la liste et à le remplir d’éléments par itération sur la liste. L’exemple ci-dessous illustre cette méthode:

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);
  }
}

Le tableau résultant contient tous les éléments de la liste. Notez que cette méthode ne doit pas être utilisée si le tableau résultant est de type non primitif.

Utilisez toArray() pour convertir une liste en un tableau de types de référence en Java

Cette méthode est utilisée si la liste contient des éléments de types de référence tels que des objets d’une classe. Nous pouvons utiliser la méthode intégrée toArray() pour convertir une liste de ce type en un tableau. L’exemple ci-dessous en est une illustration:

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());
    }
  }
}

Utiliser stream() pour convertir une liste en tableau en Java

Pour Java 8 et supérieur, nous pouvons également utiliser la méthode stream() de l’API Stream pour convertir une liste en un tableau en Java. L’exemple ci-dessous illustre cette possibilité:

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));
 }
}

Article connexe - Java Array