English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base Java

Contrôle de flux Java

Java Array

Java Orienté Objet (I)

Java Orienté Objet (II)

Java Orienté Objet (III)

Gestion des exceptions Java

Java List

Java Queue (file)

Java Map Collection

Java Set Collection

Java Input Output (I/O)

Java Reader/Writer

Autres sujets Java

Interface Deque Java

Dans ce tutoriel, nous allons apprendre l'interface Deque, comment l'utiliser et ses méthodes.

L'interface Deque du cadre de collections Java fournit les fonctionnalités de file double (Deque). Il hérite de l'interface Queue.

Le fonctionnement de la file double

Dans une file ordinaire, les éléments sont ajoutés à l'arrière et supprimés à l'avant. Mais dans une file double, nous pouvonsInsérer et supprimer des éléments de devant et d'arrière.

Les classes qui implémentent Deque

Pour utiliser les fonctionnalités de l'interface Deque, nous devons utiliser les classes qui implémentent l'interface :

Comment utiliser Deque ?

Dans Java, nous devons importer le paquet java.util.Deque pour utiliser Deque.

Deque<String> animal1 = new ArrayDeque<>();
Deque<String> animal2 = new LinkedList<>();

Ici, nous avons respectivement créés les objets de classe ArrayDeque et LinkedList appelés animal1et animal2. Ces objets peuvent utiliser les fonctionnalités de l'interface Deque.

Les méthodes de la file double

Comme Deque hérite de l'interface Queue, donc elle héritede l'interface QueueToutes les méthodes.

En plus des méthodes disponibles dans l'interface Queue, l'interface Deque inclut également les méthodes suivantes :

  • addFirst() - Ajoute l'élément spécifié à la tête de la file double. Si la file double est pleine, lève une exception.

  • addLast() - Ajoute l'élément spécifié à la fin de la file double. Si la file double est pleine, lève une exception.

  • offerFirst() - Ajoute l'élément spécifié à la tête de la file double. Si la file double est pleine, retourne false.

  • offerLast() - Ajouter l'élément spécifié à la fin de la double file. Si la double file est pleine, retourner false.

  • getFirst() - Retourner l'élément premier de la double file. Si la double file est vide, lever une exception.

  • getLast() - Retourner l'élément dernier de la double file. Si la double file est vide, lever une exception.

  • peekFirst() - Retourner l'élément premier de la double file. Si la double file est vide, retourner null.

  • peekLast() - Retourner l'élément dernier de la double file. Si la double file est vide, retourner null.

  • removeFirst() - Retourner et supprimer l'élément premier de la double file. Si la double file est vide, lever une exception.

  • removeLast() - Retourner et supprimer l'élément dernier de la double file. Si la double file est vide, lever une exception.

  • pollFirst() - Retourner et supprimer l'élément premier de la double file. Si la double file est vide, retourner null.

  • pollLast() - Retourner et supprimer l'élément dernier de la double file. Si la double file est vide, retourner null.

Deque en tant que structure de données pile

La classe Stack du cadre de Collections Java fournit une mise en œuvre de pile.

Mais, il est recommandé d'utiliser Deque plutôt queClasse StackC'est parce que les méthodes de Stack sont synchronisées.

Voici les méthodes fournies par l'interface Deque pour la mise en œuvre de pile :

  • push() - Ajouter un élément à la tête de la double file

  • pop() - Supprimer l'élément de la tête de la double file

  • peek() - Retourner un élément de la tête de la double file

Mise en œuvre de Deque dans la classe ArrayDeque

import	java.util.Deque;
import	java.util.ArrayDeque;
class	Main	{
    public	static	void	main(String[]	args)	{
        // Créer une Deque en utilisant la classe ArrayDeque 
        Deque<Integer>	numbers	=	new	ArrayDeque<>();
        //Ajouter un élément à la Deque
        numbers.offer(1);
        numbers.offerLast(2);
        numbers.offerFirst(3);
        System.out.println("Deque : "	 + numbers);
        //Accéder aux éléments de la Deque
        int	firstElement	=	numbers.peekFirst();
        System.out.println("Premier élément : "	 + firstElement);
        int lastElement = numbers.peekLast();
        System.out.println("Last element: " + lastElement);
        //Remove element from Deque
        int removedNumber1 = numbers.pollFirst();
        System.out.println("Remove the first element: " + removedNumber1);
        int removedNumber2 = numbers.pollLast();
        System.out.println("Remove the last element: " + removedNumber2);
        System.out.println("Updated Deque: " + numbers);
    }
}

Output result

Deque: [3, 1, 2]
First element: 3
Last element: 2
Remove the first element: 3
Remove the last element: 2
Updated Deque: [1]

For more information, please visitArrayDeque Java.