Classe ArrayDeque de Java : Guide pour Débutants
Introduction
Salut les futurs magiciens Java ! Aujourd'hui, nous allons entreprendre un voyage passionnant dans le monde de la classe ArrayDeque de Java. Je sais ce que vous pouvez penser : "Deque ? C'est un mot français chique ?" Eh bien, pas exactement ! Dans le domaine de la programmation, un deque (prononcé "deck") signifie une file double extrémité. C'est comme une file à une attraction de carnaval où les gens peuvent se joindre ou partir des deux extrémités. C'est cool, non ?
ArrayDeque est l'implémentation de Java de l'interface Deque, et c'est un outil puissant dans votre boîte à outils de programmation. C'est comme avoir un couteau suisse pour le stockage et la manipulation des données. Alors, bouclez vos ceintures et plongeons-y !
Déclaration de la Classe ArrayDeque
Avant de commencer à utiliser ArrayDeque, nous devons savoir comment la déclarer. C'est vraiment simple. Voici comment le faire :
import java.util.ArrayDeque;
ArrayDeque<Integer> numbers = new ArrayDeque<Integer>();
Dans cet exemple, nous créons une ArrayDeque qui stockera des objets Integer. Mais ne vous inquiétez pas, ArrayDeque est flexible - vous pouvez l'utiliser avec n'importe quel type d'objet !
Constructeurs de la Classe ArrayDeque
ArrayDeque vient avec trois constructeurs. Pensez aux constructeurs comme des différentes manières de construire votre deque :
-
ArrayDeque()
: Crée une deque vide avec une capacité initiale de 16 éléments. -
ArrayDeque(int numElements)
: Crée une deque avec la capacité initiale spécifiée. -
ArrayDeque(Collection<? extends E> c)
: Crée une deque contenant les éléments de la collection spécifiée.
Voyons ces exemples en action :
// Constructeur par défaut
ArrayDeque<String> fruits1 = new ArrayDeque<>();
// Constructeur avec capacité initiale
ArrayDeque<String> fruits2 = new ArrayDeque<>(20);
// Constructeur avec une collection
ArrayList<String> fruitList = new ArrayList<>();
fruitList.add("Pomme");
fruitList.add("Banane");
ArrayDeque<String> fruits3 = new ArrayDeque<>(fruitList);
Méthodes de la Classe ArrayDeque
Maintenant, examinons algumas des méthodes les plus couramment utilisées dans ArrayDeque. J'aime à penser que ces méthodes sont les différents tours que votre couteau suisse peut faire.
Méthode | Description |
---|---|
addFirst(E e) |
Ajoute un élément au début de la deque |
addLast(E e) |
Ajoute un élément à la fin de la deque |
offerFirst(E e) |
Ajoute un élément au début de la deque (renvoie un booléen) |
offerLast(E e) |
Ajoute un élément à la fin de la deque (renvoie un booléen) |
removeFirst() |
Supprime et renvoie le premier élément |
removeLast() |
Supprime et renvoie le dernier élément |
pollFirst() |
Supprime et renvoie le premier élément (ou null si vide) |
pollLast() |
Supprime et renvoie le dernier élément (ou null si vide) |
getFirst() |
Renvoie le premier élément sans le supprimer |
getLast() |
Renvoie le dernier élément sans le supprimer |
peekFirst() |
Renvoie le premier élément sans le supprimer (ou null si vide) |
peekLast() |
Renvoie le dernier élément sans le supprimer (ou null si vide) |
Exemple d'Ajout et de Suppression d'Éléments d'une ArrayDeque
Mettons notre nouvelle connaissance à l'emploi avec un exemple pratique. Imaginez que nous gérons une liste de tâches où les tâches peuvent être ajoutées ou supprimées des deux extrémités.
import java.util.ArrayDeque;
public class ToDoList {
public static void main(String[] args) {
ArrayDeque<String> tasks = new ArrayDeque<>();
// Ajout de tâches
tasks.addFirst("Se réveiller");
tasks.addLast("Se brosser les dents");
tasks.offerFirst("Régler l'alarme");
tasks.offerLast("Aller au lit");
System.out.println("Tâches actuelles : " + tasks);
// Suppression de tâches
String firstTask = tasks.removeFirst();
String lastTask = tasks.removeLast();
System.out.println("Première tâche complétée : " + firstTask);
System.out.println("Dernière tâche complétée : " + lastTask);
System.out.println("Tâches restantes : " + tasks);
// Regarder les tâches
String nextTask = tasks.peekFirst();
String finalTask = tasks.peekLast();
System.out.println("Prochaine tâche : " + nextTask);
System.out.println("Dernière tâche : " + finalTask);
}
}
Décomposons cela :
- Nous commençons par créer une ArrayDeque appelée
tasks
. - Nous ajoutons des tâches en utilisant
addFirst()
,addLast()
,offerFirst()
etofferLast()
. Notez comment nous pouvons ajouter des tâches aux deux extrémités de la deque. - Nous supprimons ensuite des tâches des deux extrémités en utilisant
removeFirst()
etremoveLast()
. - Enfin, nous regardons les première et dernière tâches sans les supprimer en utilisant
peekFirst()
etpeekLast()
.
Sortie
Lorsque vous exécutez ce code, vous verrez quelque chose comme ceci :
Tâches actuelles : [Régler l'alarme, Se réveiller, Se brosser les dents, Aller au lit]
Première tâche complétée : Régler l'alarme
Dernière tâche complétée : Aller au lit
Tâches restantes : [Se réveiller, Se brosser les dents]
Prochaine tâche : Se réveiller
Dernière tâche : Se brosser les dents
Et voilà ! Vous avez juste créé, manipulé et exploré une ArrayDeque. Très propre, non ?
N'oubliez pas, la pratique fait le maître. Essayez de créer votre propre ArrayDeque et expérimentez avec différentes méthodes. Vous pourriez créer un gestionnaire de playlists, un suivi de l'historique de navigateur ou même un simple système undo/redo !
ArrayDeque est comme un bon ami - toujours là quand vous en avez besoin, prêt à aider des deux côtés. Alors, n'hésitez pas, apprenez à le connaître mieux, et bientôt vous serez en train de deque comme un pro !
Bon codage, futurs maîtres Java ! ??
Credits: Image by storyset