Les listes et les tableaux sont deux façons de stocker des données en Java que tu utiliseras assez souvent. Dans les projets où tu dois stocker des données sans aucune sorte de traitement de fichiers, les listes et les tableaux te permettent de stocker des données tout au long de l'exécution de ton programme.
Nous allons utiliser la classe ArrayList, qui implémente l'interface List en Java, tout au long de ce tutoriel.
Différence entre List et Array
List |
Array |
La taille de List peut être modifiée |
La taille d'Array ne peut pas être modifiée |
Tu ne peux pas stocker des types primitifs dans List |
Tu peux stocker des types primitifs dans Array |
Tu peux utiliser des génériques avec List |
Tu ne peux pas utiliser des génériques avec Array |
Consomme plus de mémoire |
Consomme moins de mémoire |
Conversion de List à Array (list to array) à l'aide d'une fonction de bibliothèque
List dispose d'une méthode
toArray() qui convertit directement le contenu de n'importe quelle liste en un tableau tout en conservant l'ordre des éléments de la liste d'origine dans l'instance d'Array. Voici l'algorithme et les étapes pour convertir une liste en tableau en Java en utilisant cette fonction de bibliothèque intégrée.
- Initialise une ArrayList.
- Ajoute des éléments à List en utilisant la méthode list.add(data_type).
- Crée un Array de la même taille que la List.
- Convertis la List en Array, en utilisant le nom de la variable de tableau créée à l'étape 3 comme argument.
- Affiche le contenu de l'instance d'Array.
Le code qui implémente ces étapes est donné ci-dessous.
import java.util.ArrayList;
public class convertListToArray {
public static void main(String[] args) {
// Conversion de List à Array à l'aide d'une fonction de bibliothèque
// Déclarer une ArrayList
ArrayList<string> sampleList = new ArrayList<string>();
// Ajout d'éléments à l'ArrayList
sampleList.add("Californie");
sampleList.add("Texas");
sampleList.add("Illinois");
sampleList.add("Massachusetts");
sampleList.add("Floride");
sampleList.add("Virginie");
sampleList.add("Colorado");
// Affichage de l'ArrayList
System.out.println("Éléments de la liste : " + sampleList);
// Déclare une instance d'Array dont la taille est égale à celle de la List
String[]arr = new String[sampleList.size()];
// Conversion de la liste en tableau
sampleList.toArray(arr);
// Affichage de l'Array
System.out.print("Éléments du tableau : ");
for (int i = 0 ; i < arr.length ; i++) {
System.out.print(arr[i] + " ");
}
}
}
![Convertir une List en Array en Java - 1]()
Conversion de List à Array sans l'aide d'une fonction de bibliothèque
Parfois, il peut être nécessaire de convertir une liste en tableau sans utiliser de fonctions intégrées. Mais la tâche à accomplir peut imposer certaines restrictions en termes d'utilisation des fonctions de bibliothèque. Cette exigence est courante pour les étudiants en programmation afin de les encourager à travailler sans fonctions de bibliothèque et les aider à apprendre le fonctionnement interne de ces fonctions avant de s'en servir. Dans de tels cas, tu peux suivre les étapes ci-dessous pour convertir une liste en un tableau en Java sans utiliser de fonction de bibliothèque.
- Initialise une ArrayList.
- Ajoute des éléments à List en utilisant la méthode list.add(data_type).
- Crée un Array de la même taille que la List.
- Crée une boucle for qui parcourra chaque élément de l'ArrayList et utilise la méthode list.get(index) pour l'attribuer à Array[index].
- Affiche le contenu de l'Array pour montrer que tu as réellement converti la liste en un tableau.
Le code implémentant ces étapes est donné ci-dessous.
import java.util.ArrayList;
public class converListToArray2 {
public static void main(String[] args) {
// Conversion de List à Array sans l'aide d'une fonction de bibliothèque
// Déclarer une ArrayList
ArrayList<string> sampleList = new ArrayList<string>();
// Ajout d'éléments à l'ArrayList
sampleList.add("Californie");
sampleList.add("Texas");
sampleList.add("Illinois");
sampleList.add("Massachusetts");
sampleList.add("Floride");
sampleList.add("Virginie");
sampleList.add("Colorado");
// Affichage de l'ArrayList
System.out.println("Éléments de la liste : " + sampleList);
// Déclare un Array dont la taille est égale à celle de la List
String[]arr = new String [sampleList.size()];
// Conversion en Array
for (int i = 0 ; i < arr.length ; i++){
arr[i] = sampleList.get(i);
}
// Affichage de l'Array
System.out.print("Éléments du tableau : ");
for (int i = 0 ; i < arr.length ; i++){
System.out.print(arr[i] + " ");
}
}
}
De la même façon, si tu te demandes comment effectuer la conversion inverse, Array to List, tu peux le faire en utilisant la méthode intégrée
Array.asList() ou en parcourant le tableau et en stockant ses valeurs à chaque index de la List.
Pavlo Plynko
Java Developer chez CodeGym
Before becoming a developer, Pavlo devoted 15 years to system administration, but he understood that he did not want to do this fo ...
[Lisez la bio complète]
GO TO FULL VERSION