Deque en français

Introduction au Deque

Dans le domaine de la programmation en Java, un Deque, ou double-ended queue, va au-delà de l'implémentation classique d'une file d'attente. Ce type de structure de données permet d'ajouter, d'accéder et de retirer des éléments à la fois par le début et la fin de la liste. Grâce à cette flexibilité, un Deque peut être utilisé tant comme une file d'attente que comme une pile. Pour utiliser Deque, il suffit d'importer le package approprié : java.util.

Syntaxe de base

La syntaxe générale pour déclarer un Deque en Java est la suivante :

import java.util.Deque;

Deque monDeque = new DequeClasse();

Ici, DataType représente le type de données que vous souhaitez stocker dans le Deque, et DequeClasse désigne une classe qui implémente l'interface Deque, comme par exemple ArrayDeque ou LinkedList.

Exemple pratique

Voici un exemple illustratif utilisant ArrayDeque :

import java.util.Deque;
import java.util.ArrayDeque;

public class Main {
    public static void main(String[] args) {
        Deque fruits = new ArrayDeque();
        fruits.addFirst("Pomme");
        fruits.addLast("Banane");
        fruits.addFirst("Fraise");
        fruits.addLast("Kiwi");
        System.out.println(fruits);
        System.out.println(fruits.pollFirst());
        System.out.println(fruits.peekFirst());
        System.out.println(fruits);
    }
}

La sortie de ce code sera :

[Fraise, Pomme, Banane, Kiwi]
Fraise
Pomme
[Pomme, Banane, Kiwi]

Méthodes principales du Deque

Le Deque offre plusieurs méthodes utiles. Voici quelques-unes des plus courantes : - .addFirst(item) : Ajoute un élément au début du Deque, déclenche une exception si l'ajout échoue. - .addLast(item) : Ajoute un élément à la fin du Deque, déclenche une exception si l'ajout échoue. - .getFirst() : Retourne sans suppression le premier élément du Deque, déclenche une exception si le Deque est vide. - .offerLast(item) : Tente d'ajouter un élément à la fin du Deque, retourne false en cas d'échec. - .peekFirst() : Retourne sans suppression le premier élément, ou null si le Deque est vide. - .pollFirst() : Retourne et supprime le premier élément, ou null si le Deque est vide. - .removeFirst() : Supprime et retourne le premier élément, déclenche une exception si le Deque est vide.

Méthodes équivalentes

Le tableau ci-dessous montre les méthodes équivalentes en termes de Deque, Queue et Stack :

| Méthode Deque | Méthode équivalente Queue | Méthode équivalente Stack | |---------------------|---------------------------|---------------------------| | .addFirst(item) | - | .push(item) | | .addLast(item) | .add(item) | - | | .getFirst() | .element() | - | | .offerLast(item) | .offer(item) | - | | .peekFirst() | .peek() | .peek() | | .pollFirst() | .poll() | - | | .removeFirst() | .remove() | .pop() |