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.
Conversion de 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 enArrayList - 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
ArrayListvide - Parcourir le tableau et ajouter chaque élément à l'
ArrayListen utilisant la méthodeadd() - 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
ArrayListet y ajouter des éléments - Utiliser la méthode
toArray()pour convertir l'ArrayListen 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
ArrayListet y ajouter des éléments - Utiliser la méthode
Iterables.toArray()pour convertir l'ArrayListen 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ésumé
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.



