Maîtriser Java ArrayList : opérations, méthodes et bonnes pratiques
Classe Java ArrayList
Découvrez toute la puissance de l'ArrayList de Java : créer, manipuler et itérer avec des exemples clairs et réels.
La classe ArrayList, partie du Framework Collections Java, implémente l'interface List et offre une structure de données de tableau redimensionnable. Contrairement aux tableaux statiques, un ArrayList ajuste automatiquement sa capacité quand des éléments sont ajoutés ou supprimés, en faisant un tableau dynamique.

ArrayList vs Array
Les tableaux traditionnels requièrent une taille fixe à la déclaration, ce qui limite la flexibilité. ArrayList surmonte cette limitation en redimensionnant à la demande, permettant une gestion efficace de données dynamiques.
Créer un ArrayList
Importez la classe avant utilisation :
import java.util.ArrayList;
Instanciez avec le type d'élément désiré :
// Type Integer ArrayList ArrayList<Integer> intList = new ArrayList<>(); // Type String ArrayList ArrayList<String> strList = new ArrayList<>();
Note : Utilisez les classes wrapper (ex. Integer pour int) car les génériques ne supportent pas les types primitifs.
Exemple : Créer un ArrayList
import java.util.ArrayList; class Main { public static void main(String[] args){ ArrayList<String> languages = new ArrayList<>(); languages.add("Java"); languages.add("Python"); languages.add("Swift"); System.out.println("ArrayList: " + languages); } }
Sortie
ArrayList: [Java, Python, Swift]
Opérations de base sur ArrayList
Les opérations de base incluent l'ajout, l'accès, la modification et la suppression d'éléments. Voici des extraits de code concis pour chacun.
- Ajouter des éléments
- Accéder aux éléments
- Modifier les éléments
- Supprimer des éléments
1. Ajout d'éléments
Ajouter un élément unique à la fin :
ArrayList<String> languages = new ArrayList<>(); languages.add("Java"); languages.add("C"); languages.add("Python"); System.out.println("ArrayList: " + languages);
Sortie
ArrayList: [Java, C, Python]
Insérer à un index spécifique :
languages.add(1, "JavaScript"); languages.add(3, "C++");
Ajouter tous les éléments d'une collection :
import java.util.ArrayList; import java.util.HashSet; class Main { public static void main(String[] args) { HashSet<String> vowels = new HashSet<>(); vowels.add("a"); vowels.add("e"); vowels.add("i"); ArrayList<String> alphabets = new ArrayList<>(); alphabets.addAll(vowels); System.out.println("ArrayList: " + alphabets); } }
Sortie
ArrayList: [a, e, i]
2. Accès aux éléments
Récupérer par index :
ArrayList<String> animals = new ArrayList<>(); animals.add("Cat"); animals.add("Dog"); animals.add("Cow"); String str = animals.get(1); System.out.print("Element at index 1: " + str);
Sortie
Element at index 1: Dog
Itérer avec un Iterator si nécessaire.
3. Modification d'éléments
Remplacer un élément existant :
ArrayList<String> languages = new ArrayList<>(); languages.add("Java"); languages.add("Kotlin"); languages.add("C++"); languages.set(2, "JavaScript"); System.out.println("Modified ArrayList: " + languages);
Sortie
Modified ArrayList: [Java, Kotlin, JavaScript]
4. Suppression d'éléments
Par index :
ArrayList<String> animals = new ArrayList<>(); animals.add("Dog"); animals.add("Cat"); animals.add("Horse"); String removed = animals.remove(2); System.out.println("Updated ArrayList: " + animals); System.out.println("Removed Element: " + removed);
Sortie
Updated ArrayList: [Dog, Cat] Removed Element: Horse
Vider tous les éléments avec clear() ou supprimer une plage avec removeAll().
Méthodes courantes d'ArrayList
Au-delà des opérations CRUD de base, les méthodes suivantes sont fréquemment utilisées :
| Méthode | Description |
|---|---|
| size() | Retourne le nombre d'éléments. |
| sort() | Trie la liste. |
| clone() | Crée une copie superficielle. |
| contains() | Vérifie la présence d'un élément. |
| ensureCapacity() | Préalloue de l'espace. |
| isEmpty() | Vérifie si la liste est vide. |
| indexOf() | Trouve l'index de la première occurrence. |
Pour une liste complète, référez-vous à l'API ArrayList officielle.
Itération avec for‑each
ArrayList<String> animals = new ArrayList<>(); animals.add("Cow"); animals.add("Cat"); animals.add("Dog"); for (String animal : animals) { System.out.print(animal + ", "); }
Sortie
Cow, Cat, Dog,
Questions fréquentes
Quelle est la différence entre Java ArrayList et LinkedList ?
| ArrayList | LinkedList |
|---|---|
Implémente l'interface List | Implémente List, Queue et Deque |
| Bloc de mémoire contigu unique | Nœuds avec références next/prev |
| Accès aléatoire O(1) | Accès séquentiel O(n) |
| Redimensionne dynamiquement | Redimensionne dynamiquement |
Comment convertir un ArrayList en tableau ?
String[] arr = new String[languages.size()]; languages.toArray(arr);
Comment convertir un tableau en ArrayList ?
ArrayList<String> list = new ArrayList<>(Arrays.asList(arr));
Comment créer et initialiser un ArrayList en une ligne ?
ArrayList<String> list = new ArrayList<>(Arrays.asList("Java", "Python", "C"));
Comment convertir un ArrayList en String ?
String str = languages.toString();
Comment créer un ArrayList en utilisant l'interface List ?
List<String> list = new ArrayList<>();
Java
- Comprendre le mot-clé final en Java : variables, méthodes et classes
- L'opérateur instanceof en Java : guide complet
- Comprendre les classes imbriquées statiques en Java : utilisation, différences et exemples
- Maîtriser les classes internes anonymes en Java : définition, syntaxe et exemples pratiques
- Le pattern Singleton en Java expliqué : implémentation et utilisation sûre
- Maîtriser la réflexion Java : inspection des classes, méthodes et champs à l'exécution
- Comprendre Java Vector : Utilisation, Fonctionnalités et Comparaison avec ArrayList
- Maîtriser les algorithmes de collection Java : Tri, mélange et plus
- Maîtriser Java ObjectOutputStream : Sérialisation, méthodes et exemples pratiques