Conversion entre un tableau et une liste

JavaJavaBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Les tableaux sont des structures de données linéaires largement utilisées en Java pour stocker des collections de données. Ils permettent un accès aléatoire à n'importe quel élément du tableau en utilisant son indice, car les éléments sont alloués dans des blocs contigus de mémoire. D'un autre côté, l'interface List fournit un moyen de maintenir une collection ordonnée de données, et est implémentée par des classes telles que ArrayList et LinkedList. Dans ce laboratoire, nous allons apprendre à convertir un tableau en une liste et vice versa en utilisant diverses méthodes en Java.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/DataStructuresGroup(["Data Structures"]) java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java/BasicSyntaxGroup -.-> java/for_loop("For Loop") java/DataStructuresGroup -.-> java/arrays("Arrays") java/DataStructuresGroup -.-> java/arrays_methods("Arrays Methods") java/DataStructuresGroup -.-> java/collections_methods("Collections Methods") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/arraylist("ArrayList") subgraph Lab Skills java/for_loop -.-> lab-117399{{"Conversion entre un tableau et une liste"}} java/arrays -.-> lab-117399{{"Conversion entre un tableau et une liste"}} java/arrays_methods -.-> lab-117399{{"Conversion entre un tableau et une liste"}} java/collections_methods -.-> lab-117399{{"Conversion entre un tableau et une liste"}} java/arraylist -.-> lab-117399{{"Conversion entre un tableau et une liste"}} end

Conversion d'un tableau en liste en utilisant la méthode asList()

La méthode asList() de la classe Arrays peut être utilisée pour convertir un tableau en une liste. Elle prend le tableau en tant que paramètre et renvoie une liste de ses éléments. Nous allons effectuer les étapes suivantes pour convertir un tableau en une liste en utilisant la méthode asList() :

  • Créer un tableau de chaînes de caractères et un tableau d'entiers, et les initialiser avec des valeurs
  • Utiliser la méthode Arrays.asList() pour convertir les tableaux en listes
  • Afficher les listes
import java.util.Arrays;
import java.util.List;

public class ArrayToList {
    public static void main(String[] args) {
        // Étape 1 : Conversion d'un tableau en liste en utilisant la méthode asList()
        // Création d'un tableau de chaînes de caractères
        String[] strArr = {"this", "is", "a", "string", "array"};
        // Création d'un tableau d'entiers
        Integer[] intArr = {2, 3, 5, 7, 11, 13, 17};
        // Conversion des tableaux en listes en utilisant la méthode asList()
        List<String> strList = Arrays.asList(strArr);
        List<Integer> intList = Arrays.asList(intArr);
        // Affichage des listes
        System.out.println("Conversion d'un tableau en liste en utilisant la méthode asList() : ");
        System.out.println(strList);
        System.out.println(intList);
    }
}

Pour exécuter le code, ouvrez un terminal, accédez au dossier du projet et tapez la commande suivante : javac ArrayToList.java && java ArrayToList

Conversion d'un tableau en liste en utilisant la méthode Collections.addAll()

La méthode Collections.addAll() peut être utilisée pour ajouter tous les éléments d'un tableau à une liste. Nous devons tout d'abord créer une liste vide puis passer le tableau existant et la nouvelle liste en tant que paramètres à cette méthode. Nous allons effectuer les étapes suivantes pour convertir un tableau en une liste en utilisant la méthode Collections.addAll() :

  • Créer un tableau de chaînes de caractères et un tableau d'entiers, et les initialiser avec des valeurs
  • Créer une liste vide des types de données correspondants, en utilisant la classe ArrayList
  • Utiliser la méthode Collections.addAll() pour ajouter les éléments des tableaux aux listes
  • Afficher les listes
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class ArrayToList {
    public static void main(String[] args) {
        // Étape 2 : Conversion d'un tableau en liste en utilisant la méthode Collections.addAll()
        // Création d'un tableau de chaînes de caractères
        String[] strArr = {"this", "is", "a", "string", "array"};
        // Création d'un tableau d'entiers
        Integer[] intArr = {2, 3, 5, 7, 11, 13, 17};
        // Création de listes vides des types de données correspondants
        List<String> strList = new ArrayList<String>();
        List<Integer> intList = new ArrayList<Integer>();
        // Utilisation de la méthode Collections.addAll() pour ajouter les éléments des tableaux aux listes
        Collections.addAll(strList, strArr);
        Collections.addAll(intList, intArr);
        // Affichage des listes
        System.out.println("Conversion d'un tableau en liste en utilisant la méthode Collections.addAll() : ");
        System.out.println(strList);
        System.out.println(intList);
    }
}

Pour exécuter le code, ouvrez un terminal, accédez au dossier du projet et tapez la commande suivante : javac ArrayToList.java && java ArrayToList

Conversion d'un tableau en liste en utilisant la méthode Lists.newArrayList() de Guava

La méthode Lists.newArrayList() de la bibliothèque Guava peut également être utilisée pour convertir un tableau en un ArrayList. Nous allons effectuer les étapes suivantes pour convertir un tableau en une liste en utilisant la méthode Lists.newArrayList() :

  • Créer un tableau de chaînes de caractères et un tableau d'entiers, et les initialiser avec des valeurs
  • Utiliser la méthode Lists.newArrayList() pour convertir les tableaux en ArrayList
  • Afficher les ArrayList
import com.google.common.collect.Lists;
import java.util.List;

public class ArrayToList {
    public static void main(String[] args) {
        // Étape 3 : Conversion d'un tableau en liste en utilisant la méthode Lists.newArrayList() de Guava
        // Création d'un tableau de chaînes de caractères
        String[] strArr = {"this", "is", "a", "string", "array"};
        // Création d'un tableau d'entiers
        Integer[] intArr = {2, 3, 5, 7, 11, 13, 17};
        // Conversion des tableaux en ArrayList en utilisant la méthode Lists.newArrayList() de Guava
        List<String> strList = Lists.newArrayList(strArr);
        List<Integer> intList = Lists.newArrayList(intArr);
        // Affichage des ArrayList
        System.out.println("Conversion d'un tableau en liste en utilisant la méthode Lists.newArrayList() de Guava : ");
        System.out.println(strList);
        System.out.println(intList);
    }
}

Pour exécuter le code, ouvrez un terminal, accédez au dossier du projet et tapez la commande suivante : javac ArrayToList.java && java ArrayToList

Écrire notre propre méthode pour convertir un tableau en liste

Nous pouvons également écrire notre propre méthode pour convertir un tableau en une liste. Nous utiliserons la méthode add() de l'interface List pour ajouter les éléments du tableau à la liste. Nous allons effectuer les étapes suivantes pour écrire notre propre méthode :

  • Écrire une méthode qui prend un tableau de chaînes de caractères en paramètre et renvoie une liste de chaînes de caractères
  • Dans la méthode, créer une ArrayList vide
  • Parcourir le tableau et ajouter chaque élément à l'ArrayList en utilisant la méthode add()
  • Retourner l'ArrayList
import java.util.ArrayList;
import java.util.List;

public class ArrayToList {
    // Étape 4 : Écrire notre propre méthode pour convertir un tableau en liste
    public static List<String> arrayToList(String[] strArr) {
        List<String> strList = new ArrayList<String>();
        for(int i = 0; i <= strArr.length - 1; i++)
            strList.add(strArr[i]);
        return strList;
    }

    public static void main(String[] args) {
        // Création d'un tableau de chaînes de caractères
        String[] strArr = {"this", "is", "a", "string", "array"};
        // Conversion du tableau en liste en utilisant notre propre méthode
        List<String> strList = arrayToList(strArr);
        // Affichage de la liste
        System.out.println("Conversion d'un tableau en liste en utilisant notre propre méthode : ");
        System.out.println(strList);
    }
}

Pour exécuter le code, ouvrez un terminal, accédez au dossier du projet et tapez la commande suivante : javac ArrayToList.java && java ArrayToList

Conversion d'une liste en tableau en utilisant la méthode toArray()

La méthode toArray() peut être utilisée pour convertir une liste en un tableau. Elle prend un tableau en tant que paramètre et renvoie un tableau contenant les éléments de la liste. Nous allons effectuer les étapes suivantes pour convertir une liste en un tableau en utilisant la méthode toArray() :

  • Créer une ArrayList et y ajouter des éléments
  • Utiliser la méthode toArray() pour convertir l'ArrayList en un tableau
  • Afficher le tableau
import java.util.ArrayList;
import java.util.List;

public class ArrayToList {
    public static void main(String[] args) {
        // Étape 5 : Conversion d'une liste en tableau en utilisant la méthode toArray()
        // Création d'une ArrayList
        List<String> strList = new ArrayList<String>();
        strList.add("this");
        strList.add("is");
        strList.add("a");
        strList.add("string");
        strList.add("array");

        // Conversion de l'ArrayList en tableau en utilisant la méthode toArray()
        String[] strArr = strList.toArray(new String[0]);

        // Affichage du tableau
        System.out.println("Conversion d'une liste en tableau en utilisant la méthode toArray() : ");
        for(int i = 0; i <= strArr.length - 1; i++)
            System.out.print(strArr[i] + " ");
    }
}

Pour exécuter le code, ouvrez un terminal, accédez au dossier du projet et tapez la commande suivante : javac ArrayToList.java && java ArrayToList

Conversion d'une liste en tableau en utilisant la méthode Iterables.toArray() de Guava

La méthode Iterables.toArray() de la bibliothèque Guava peut également être utilisée pour convertir une liste en un tableau. Nous allons effectuer les étapes suivantes pour convertir une liste en un tableau en utilisant la méthode Iterables.toArray() :

  • Créer une ArrayList et y ajouter des éléments
  • Utiliser la méthode Iterables.toArray() pour convertir l'ArrayList en un tableau
  • Afficher le tableau
import com.google.common.collect.Iterables;
import java.util.ArrayList;
import java.util.List;

public class ArrayToList {
    public static void main(String[] args) {
        // Étape 6 : Conversion d'une liste en tableau en utilisant la méthode Iterables.toArray() de Guava
        // Création d'une ArrayList
        List<String> strList = new ArrayList<String>();
        strList.add("this");
        strList.add("is");
        strList.add("a");
        strList.add("string");
        strList.add("array");

        // Conversion de l'ArrayList en tableau en utilisant la méthode Iterables.toArray() de Guava
        String[] strArr = Iterables.toArray(strList, String.class);

        // Affichage du tableau
        System.out.println("Conversion d'une liste en tableau en utilisant la méthode Iterables.toArray() de Guava : ");
        for(int i = 0; i <= strArr.length - 1; i++)
            System.out.print(strArr[i] + " ");
    }
}

Pour exécuter le code, ouvrez un terminal, accédez au dossier du projet et tapez la commande suivante : javac ArrayToList.java && java ArrayToList

Écrire notre propre méthode pour convertir une liste en tableau

Nous pouvons également écrire notre propre méthode pour convertir une liste en un tableau. Nous allons parcourir la liste et extraire chaque élément en utilisant la méthode get() puis l'ajouter au tableau en utilisant les indices du tableau. Nous allons effectuer les étapes suivantes pour écrire notre propre méthode :

  • Écrire une méthode qui prend une liste de chaînes de caractères en paramètre et renvoie un tableau de chaînes de caractères
  • Dans la méthode, créer un tableau de chaînes de caractères vide de taille égale à celle de la liste
  • Parcourir la liste et ajouter chaque élément au tableau en utilisant les indices du tableau
  • Retourner le tableau
import java.util.ArrayList;
import java.util.List;

public class ArrayToList {
    public static String[] listToArray(List<String> strList) {
        String[] strArr = new String[strList.size()];
        for(int i = 0; i <= strList.size() - 1; i++)
            strArr[i] = strList.get(i);
        return strArr;
    }

    public static void main(String[] args) {
        // Écrire notre propre méthode pour convertir une liste en tableau
        // Création d'une ArrayList
        List<String> strList = new ArrayList<String>();
        strList.add("this");
        strList.add("is");
        strList.add("a");
        strList.add("string");
        strList.add("array");

        // Conversion de l'ArrayList en tableau en utilisant notre propre méthode
        String[] strArr = listToArray(strList);

        // Affichage du tableau
        System.out.println("Conversion d'une liste en tableau en utilisant notre propre méthode : ");
        for(int i = 0; i <= strArr.length - 1; i++)
            System.out.print(strArr[i] + " ");
    }
}

Pour exécuter le code, ouvrez un terminal, accédez au dossier du projet et tapez la commande suivante : javac ArrayToList.java && java ArrayToList

Récapitulatif

Dans ce laboratoire, nous avons exploré diverses méthodes pour convertir un tableau en une liste et une liste en retour en un tableau en Java. Nous avons vu comment utiliser la méthode asList() de la classe Arrays, la méthode addAll() de la classe Collections et la méthode Lists.newArrayList() de la bibliothèque Guava pour convertir un tableau en une liste. Nous avons également vu comment utiliser la méthode toArray() et la méthode Iterables.toArray() de la bibliothèque Guava pour convertir une liste en un tableau. Enfin, nous avons écrit nos propres méthodes pour effectuer ces conversions. Comprendre les différentes méthodes de conversion de tableaux en listes et vice versa peut nous aider à exploiter le potentiel des deux structures de données et à améliorer nos compétences de programmation en Java.