L'ArrayList en Java est une implémentation redimensionnable et polyvalente de l'interface List. Elle offre les fonctionnalités essentielles des tableaux dynamiques : accès par index, ajout, suppression, mise à jour et itération. Optimisée pour un usage général, elle est idéale pour la plupart des applications.
D'autres implémentations de List existent pour des cas spécifiques :

Ces variantes sont hors scope ici. Ce guide se concentre sur la création et l'utilisation basique d'une ArrayList.
La création est simple. Utilisez le constructeur par défaut pour une liste vide :
import java.util.ArrayList;
import java.util.Arrays;
ArrayList<String> alist = new ArrayList<>();Si la taille approximative est connue, spécifiez la capacité initiale pour optimiser les performances (non limitante) :
ArrayList<String> alist = new ArrayList<>(20);
Utilisez add() pour ajouter un élément :
ArrayList<String> alist = new ArrayList<>();
alist.add("pomme");
alist.add("banane");
alist.add("cantaloup");
alist.add("orange");
System.out.println(alist); // [pomme, banane, cantaloup, orange]
System.out.println("Nombre d'éléments : " + alist.size()); // 4
Spécifiez l'index en premier paramètre :
alist.add(3, "raisin");
System.out.println(alist); // [pomme, banane, cantaloup, raisin, orange]Utilisez addAll() avec une collection :
List<String> items = Arrays.asList("poire", "cerise");
alist.addAll(items);
System.out.println(alist); // [pomme, banane, cantaloup, raisin, orange, poire, cerise]Vous pouvez aussi spécifier un index de départ.
Utilisez get() :
String element = alist.get(2);
System.out.println("Élément à l'index 2 : " + element); // cantaloupindexOf() retourne l'index ou -1 si absent :
System.out.println(alist);
int index = alist.indexOf("orange");
if (index < 0) {
System.out.println("Élément 'orange' introuvable");
} else {
System.out.println("Élément 'orange' trouvé à l'index " + index); // 4
}
index = alist.indexOf("raisin");
if (index < 0) {
System.out.println("Élément 'raisin' introuvable");
}Plusieurs méthodes : boucle for-each (Java 5+), itérateur.
for (String fruit : alist) {
System.out.println("Fruit : " + fruit);
}Pour supprimer pendant l'itération, utilisez un Iterator :
ArrayList<String> blist = new ArrayList<>(alist);
Iterator<String> iter = blist.iterator();
while (iter.hasNext()) {
String fruit = iter.next();
if (fruit.startsWith("c")) {
iter.remove();
} else {
System.out.println("Garder : " + fruit);
}
}Utilisez set() :
alist.set(5, "ananas");
System.out.println(alist); // [pomme, banane, cantaloup, raisin, orange, ananas, cerise]Par index :
String fruit = alist.remove(2);
System.out.println("Supprimé à l'index 2 : " + fruit); // cantaloupPar objet (première occurrence) :
fruit = "raisin";
System.out.println("Supprimer " + fruit + " ? " + alist.remove(fruit)); // trueComment utilisez-vous ArrayList dans vos projets ? Partagez vos expériences et défis dans les commentaires !
[]