Convertir une chaîne de caractères divisée en un ArrayList
Maintenant que nous avons divisé notre chaîne de caractères en un tableau, convertissons-la en un ArrayList. Les ArrayLists offrent plus de flexibilité que les tableaux, y compris le redimensionnement dynamique et des méthodes pratiques pour ajouter, supprimer et manipuler des éléments.
Convertir un tableau en ArrayList
Il existe plusieurs façons de convertir un tableau en un ArrayList en Java :
- En utilisant
Arrays.asList() et le constructeur ArrayList
- En utilisant une boucle pour ajouter chaque élément individuellement
- En utilisant l'API Java 8 Stream
Mettons à jour notre fichier StringSplitDemo.java pour inclure la conversion en ArrayList. Nous devrons importer les classes nécessaires du package java.util :
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class StringSplitDemo {
public static void main(String[] args) {
// Crée une chaîne de caractères avec des valeurs séparées par des virgules
String csvData = "apple,banana,orange,grape,mango";
System.out.println("Chaîne originale: " + csvData);
// Divise la chaîne de caractères en utilisant la virgule comme délimiteur
String[] fruits = csvData.split(",");
// Affiche le tableau résultant
System.out.println("\nAprès la division en tableau:");
System.out.println("Nombre d'éléments: " + fruits.length);
// Affiche chaque élément du tableau
for (int i = 0; i < fruits.length; i++) {
System.out.println("Élément du tableau " + i + ": " + fruits[i]);
}
// Méthode 1: Convertir en ArrayList en utilisant Arrays.asList() et le constructeur ArrayList
ArrayList<String> fruitList1 = new ArrayList<>(Arrays.asList(fruits));
// Méthode 2: Convertir en ArrayList en utilisant une boucle
ArrayList<String> fruitList2 = new ArrayList<>();
for (String fruit : fruits) {
fruitList2.add(fruit);
}
// Affiche l'ArrayList créé en utilisant la Méthode 1
System.out.println("\nAprès la conversion en ArrayList (Méthode 1):");
System.out.println("Nombre d'éléments: " + fruitList1.size());
for (int i = 0; i < fruitList1.size(); i++) {
System.out.println("Élément de l'ArrayList " + i + ": " + fruitList1.get(i));
}
// Démontre l'ajout d'un nouvel élément à l'ArrayList
fruitList1.add("pineapple");
System.out.println("\nAprès avoir ajouté un nouvel élément à l'ArrayList:");
System.out.println("Nombre d'éléments: " + fruitList1.size());
System.out.println("Nouvel élément: " + fruitList1.get(fruitList1.size() - 1));
}
}
Enregistrez le fichier et exécutez le programme :
javac StringSplitDemo.java
java StringSplitDemo
Vous devriez voir une sortie similaire à :
Chaîne originale: apple,banana,orange,grape,mango
Après la division en tableau:
Nombre d'éléments: 5
Élément du tableau 0: apple
Élément du tableau 1: banana
Élément du tableau 2: orange
Élément du tableau 3: grape
Élément du tableau 4: mango
Après la conversion en ArrayList (Méthode 1):
Nombre d'éléments: 5
Élément de l'ArrayList 0: apple
Élément de l'ArrayList 1: banana
Élément de l'ArrayList 2: orange
Élément de l'ArrayList 3: grape
Élément de l'ArrayList 4: mango
Après avoir ajouté un nouvel élément à l'ArrayList:
Nombre d'éléments: 6
Nouvel élément: pineapple
Cet exemple démontre comment convertir un tableau de chaînes de caractères en un ArrayList et met en évidence l'un des avantages de l'utilisation d'un ArrayList : la possibilité d'ajouter facilement de nouveaux éléments à la collection.
Notez les différences entre les tableaux et les ArrayLists :
- Les tableaux ont une taille fixe, tandis que les ArrayLists peuvent croître dynamiquement
- Les ArrayLists fournissent des méthodes comme
add(), remove() et get() pour manipuler les éléments
- Les ArrayLists ne peuvent stocker que des objets, pas des types primitifs (bien que Java gère automatiquement la conversion en utilisant l'autoboxing)
Dans l'étape suivante, nous allons explorer différents délimiteurs pour diviser les chaînes de caractères.