Java ArrayList : Votre Porte d'Entrée vers des Collections Dynamiques

Introduction

Bonjour à tous, futurs passionnés de Java ! Aujourd'hui, nous plongeons dans un des outils les plus utiles et polyvalents de Java : l'ArrayList. Imaginez que vous organisiez une fête et que vous ne savez pas combien d'amis viendront. Vous pourriez mettre des chaises fixes, mais que faire si plus de personnes viennent ? Ou pire, que faire si la moitié des chaises restent vides ? C'est là que l'ArrayList entre en jeu dans le monde de la programmation – c'est comme avoir une liste de invités magique qui grandit ou se rétrécit selon les besoins !

Java - ArrayList

Déclaration de Classe

Commençons par les bases. En Java, l'ArrayList fait partie du package java.util. Pour l'utiliser, vous devez l'importer comme suit :

import java.util.ArrayList;

La classe ArrayList est déclarée comme suit :

public class ArrayList<E> extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, Serializable

Ne vous inquiétez pas si cela semble intimidant – nous allons le décomposer étape par étape !

Qu'est-ce que Cela Signifie ?

  • <E> : C'est un paramètre de type. Cela signifie que l'ArrayList peut contenir n'importe quel type d'objet. C'est comme dire, "Cet ArrayList peut contenir des choses, et nous préciserons quel type de choses plus tard."
  • extends AbstractList<E> : l'ArrayList s'appuie sur une autre classe appelée AbstractList.
  • implements List<E>, RandomAccess, Cloneable, Serializable : Ce sont des interfaces que l'ArrayList implémente, lui conférant certaines capacités.

Constructeurs de Classe

Lorsque vous créez un ArrayList, vous avez trois options :

  1. Créer un ArrayList vide :

    ArrayList<String> friendsList = new ArrayList<>();
  2. Créer un ArrayList avec une capacité initiale :

    ArrayList<Integer> numbers = new ArrayList<>(20);
  3. Créer un ArrayList à partir d'une autre collection :

    ArrayList<Double> scores = new ArrayList<>(existingList);

Dans le premier exemple, imaginez que vous commencez une nouvelle liste d'amis. Dans le second, vous préparez une liste de 20 nombres. Le troisième est comme copier une liste d'invités existante pour commencer une nouvelle liste.

Méthodes de Classe

L'ArrayList est fourni avec une boîte à outils pleine d'outils utiles. Examinons quelques-unes des méthodes les plus courantes :

Méthode Description
add(E element) Ajoute un élément à la fin de la liste
add(int index, E element) Ajoute un élément à la position spécifiée
get(int index) Retourne l'élément à la position spécifiée
set(int index, E element) Remplace l'élément à la position spécifiée
remove(int index) Supprime l'élément à la position spécifiée
size() Retourne le nombre d'éléments dans la liste
clear() Supprime tous les éléments de la liste
contains(Object o) Retourne vrai si la liste contient l'élément spécifié

Ces méthodes sont comme différents tours de magie – ajouter des invités, vérifier qui est là, ou demander à quelqu'un de partir (poliment, bien sûr !).

Méthodes Héritées

L'ArrayList hérite également de méthodes de ses classes parentes et interfaces. Certaines méthodes notables incluent :

  • De AbstractList : iterator(), listIterator()
  • De AbstractCollection : toString(), isEmpty()
  • De Object : clone(), equals(), hashCode()

Considérez ces méthodes comme des fonctionnalités supplémentaires qui accompagnent votre ArrayList !

Exemple d'AJout et de Suppression d'Éléments dans un ArrayList de Chaines

Mettons notre connaissance en pratique avec un exemple concret. Nous allons créer un ArrayList pour gérer une liste de lecture :

import java.util.ArrayList;

public class ReadingList {
public static void main(String[] args) {
// Créer un ArrayList pour stocker les titres de livres
ArrayList<String> bookList = new ArrayList<>();

// Ajouter des livres à la liste
bookList.add("Tuer un oiseau moqueur");
bookList.add("1984");
bookList.add("Le Grand Gatsby");

System.out.println("Liste de lecture initiale : " + bookList);

// Ajouter un livre à une position spécifique
bookList.add(1, " Orgueil et Préjugés");

System.out.println("Après l'ajout d'un nouveau livre : " + bookList);

// Supprimer un livre
bookList.remove("1984");

System.out.println("Après la suppression d'un livre : " + bookList);

// Vérifier si un livre est dans la liste
String searchBook = "Le Grand Gatsby";
if (bookList.contains(searchBook)) {
System.out.println(searchBook + " est dans votre liste de lecture !");
} else {
System.out.println(searchBook + " n'est pas dans votre liste de lecture.");
}

// Obtenir la taille de la liste
System.out.println("Vous avez " + bookList.size() + " livres dans votre liste de lecture.");
}
}

Analysons Cela :

  1. Nous commençons par créer un ArrayList appelé bookList pour stocker des objets de type String (titres de livres).
  2. Nous ajoutons trois livres en utilisant la méthode add().
  3. Nous imprimons la liste initiale en utilisant System.out.println(). La méthode toString() de l'ArrayList est automatiquement appelée ici.
  4. Nous ajoutons "Orgueil et Préjugés" à l'index 1 (la deuxième position) en utilisant add(int index, E element).
  5. Nous supprimons "1984" en utilisant la méthode remove().
  6. Nous utilisons contains() pour vérifier si "Le Grand Gatsby" est dans notre liste.
  7. Enfin, nous utilisons size() pour obtenir le nombre de livres dans notre liste.

Sortie

Lorsque vous exécutez ce programme, vous verrez quelque chose comme cela :

Liste de lecture initiale : [Tuer un oiseau moqueur, 1984, Le Grand Gatsby]
Après l'ajout d'un nouveau livre : [Tuer un oiseau moqueur, Orgueil et Préjugés, 1984, Le Grand Gatsby]
Après la suppression d'un livre : [Tuer un oiseau moqueur, Orgueil et Préjugés, Le Grand Gatsby]
Le Grand Gatsby est dans votre liste de lecture !
Vous avez 3 livres dans votre liste de lecture.

Et voilà ! Vous avez juste créé, manipulé et exploré un ArrayList. C'est comme si vous aviez organisé une fête de club de lecture, en ajoutant de nouveaux titres, en enlevant ceux que vous avez terminés et en gardant la trace de vos aventures de lecture.

N'oubliez pas, l'ArrayList est extrêmement flexible. Vous pouvez l'utiliser pour gérer des listes de n'importe quoi – des nombres, des objets personnalisés, voire même d'autres ArrayLists ! Au fil de votre parcours Java, vous trouverez l'ArrayList devenant l'un de vos outils les plus fiables de votre boîte à outils de programmation.

Alors, continuez à pratiquer, à coder, et surtout, amusez-vous avec Java ! Qui sait ? Peut-être que votre prochain grand projet utilisera l'ArrayList pour changer le monde – une liste dynamique à la fois !

Credits: Image by storyset