Interface List Java : aperçu, implémentations et méthodes clés
Interface List Java
Explorez l'interface List de Java – son but, implémentations courantes, méthodes essentielles, et comment elle diffère de Set.
En Java, l'interface List représente une collection ordonnée, basée sur l'index, qui supporte les doublons et l'accès aléatoire. Elle étend Collection et fait partie du Framework Collections.
Implémentations clés de List
Puisque List est une interface, vous instanciez des classes concrètes pour utiliser sa fonctionnalité :
- ArrayList – soutenue par un tableau dynamique, offre un accès aléatoire rapide.
- LinkedList – implémentée comme liste doublement chaînée, excelle aux insertions/suppressions.
- Vector – liste synchronisée legacy, rarement utilisée dans le code moderne.
- Stack – une sous-classe de Vector qui suit la sémantique LIFO.

Ces classes sont définies dans le package java.util.
Utilisation de List en code
Importez d'abord java.util.List (et la classe concrète que vous souhaitez utiliser).
// Implémentation ArrayList List<String> arrayList = new ArrayList<>(); // Implémentation LinkedList List<String> linkedList = new LinkedList<>();
Les variables arrayList et linkedList exposent maintenant toutes les méthodes de List.
Méthodes essentielles de List
Toutes les méthodes listées ci-dessous sont héritées de Collection et disponibles sur chaque implémentation de List.
add(E e)– ajouter un élément à la fin.addAll(Collection<? extends E> c)– ajout en masse.get(int index)– récupérer par index.iterator()– parcours séquentiel.set(int index, E element)– remplacer un élément.remove(Object o)– supprimer par valeur.removeAll(Collection<? extends E> c)– suppression en masse.clear()– vider la liste.size()– nombre d'éléments.toArray()– convertir en tableau.contains(Object o)– tester l'appartenance.
ArrayList en pratique
import java.util.List; import java.util.ArrayList; public class ArrayListDemo { public static void main(String[] args) { List<Integer> numbers = new ArrayList<>(); numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("List: " + numbers); int third = numbers.get(2); System.out.println("Accessed Element: " + third); int removed = numbers.remove(1); System.out.println("Removed Element: " + removed); } }
Sortie
List: [1, 2, 3] Accessed Element: 3 Removed Element: 2
Pour plus de détails sur ArrayList, consultez la documentation officielle Oracle.
LinkedList en pratique
import java.util.List; import java.util.LinkedList; public class LinkedListDemo { public static void main(String[] args) { List<Integer> numbers = new LinkedList<>(); numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("List: " + numbers); int third = numbers.get(2); System.out.println("Accessed Element: " + third); int index = numbers.indexOf(2); System.out.println("Position of 2 is " + index); int removed = numbers.remove(1); System.out.println("Removed Element: " + removed); } }
Sortie
List: [1, 2, 3] Accessed Element: 3 Position of 2 is 1 Removed Element: 2
Plus de détails sur LinkedList sont disponibles dans les tutoriels Java.
List vs Set
Les deux interfaces étendent Collection mais diffèrent sur des aspects clés :
- Les listes préservent l'ordre d'insertion et permettent les doublons.
- Les sets imposent l'unicité et n'ont généralement pas d'ordre défini (sauf
SortedSet).
Le choix entre eux dépend de si l'ordre et les doublons importent pour votre cas d'usage.
Continuez à explorer les implémentations concrètes dans les prochains tutoriels.
Java
- Maîtriser les opérateurs Java : Types, syntaxe et exemples pratiques
- Commentaires Java : Types, utilisation et bonnes pratiques
- Maîtriser la boucle for améliorée en Java : Syntaxe, exemples et bonnes pratiques
- Maîtriser les chaînes de caractères en Java : Création, méthodes et bonnes pratiques
- Maîtriser les interfaces Java : concepts, implémentation et bonnes pratiques
- Maîtriser le try-with-resources Java : gestion automatique des ressources expliquée
- Annotations Java expliquées : types, placement et exemples pratiques
- Maîtriser les algorithmes de collection Java : Tri, mélange et plus
- Maîtriser l'autoboxing et l'unboxing Java : Exemples pratiques et bonnes pratiques