Dans ce tutoriel, nous allons en apprendre davantage sur l'interface Deque, comment l'utiliser et ses méthodes.
L' Deque
interface du framework de collections Java fournit la fonctionnalité d'une file d'attente à deux extrémités. Il étend l' Queue
interface.
Travail de Deque
Dans une file d'attente régulière, les éléments sont ajoutés par l'arrière et supprimés par l'avant. Cependant, dans un deque, nous pouvons insérer et retirer des éléments à la fois avant et arrière .
Classes qui implémentent Deque
Afin d'utiliser les fonctionnalités de l' Deque
interface, nous devons utiliser des classes qui l'implémentent:
- ArrayDeque
- LinkedList
Comment utiliser Deque?
En Java, nous devons importer le java.util.Deque
package à utiliser Deque
.
// Array implementation of Deque Deque animal1 = new ArrayDeque(); // LinkedList implementation of Deque Deque animal2 = new LinkedList();
Ici, nous avons créé les objets animal1 et animal2 des classes ArrayDeque et LinkedList, respectivement. Ces objets peuvent utiliser les fonctionnalités de l' Deque
interface.
Méthodes de Deque
Depuis Deque
étend l' Queue
interface, il hérite de toutes les méthodes de l'interface Queue.
Outre les méthodes disponibles dans l' Queue
interface, l' Deque
interface comprend également les méthodes suivantes:
- addFirst () - Ajoute l'élément spécifié au début du deque. Lève une exception si le deque est plein.
- addLast () - Ajoute l'élément spécifié à la fin de la deque. Lève une exception si le deque est plein.
- offerFirst () - Ajoute l'élément spécifié au début du deque. Renvoie
false
si le deque est plein. - offerLast () - Ajoute l'élément spécifié à la fin du deque. Renvoie
false
si le deque est plein. - getFirst () - Retourne le premier élément du deque. Lève une exception si le deque est vide.
- getLast () - Renvoie le dernier élément du deque. Lève une exception si le deque est vide.
- peekFirst () - Renvoie le premier élément du deque. Retourne
null
si le deque est vide. - peekLast () - Renvoie le dernier élément du deque. Retourne
null
si le deque est vide. - removeFirst () - Retourne et supprime le premier élément du deque. Lève une exception si le deque est vide.
- removeLast () - Retourne et supprime le dernier élément du deque. Lève une exception si le deque est vide.
- pollFirst () - Retourne et supprime le premier élément du deque. Renvoie
null
si le deque est vide. - pollLast () - Retourne et supprime le dernier élément du deque. Retourne
null
si le deque est vide.
Deque comme structure de données de pile
La Stack
classe du Collections
framework Java fournit l'implémentation de la pile.
Cependant, il est recommandé de l'utiliser Deque
comme une pile au lieu de la classe Stack. C'est parce que les méthodes de Stack
sont synchronisées.
Voici les méthodes Deque
fournies par l' interface pour implémenter la pile:
push()
- ajoute un élément au début de dequepop()
- supprime un élément du début de dequepeek()
- renvoie un élément depuis le début de deque
Implémentation de Deque dans la classe ArrayDeque
import java.util.Deque; import java.util.ArrayDeque; class Main ( public static void main(String() args) ( // Creating Deque using the ArrayDeque class Deque numbers = new ArrayDeque(); // add elements to the Deque numbers.offer(1); numbers.offerLast(2); numbers.offerFirst(3); System.out.println("Deque: " + numbers); // Access elements of the Deque int firstElement = numbers.peekFirst(); System.out.println("First Element: " + firstElement); int lastElement = numbers.peekLast(); System.out.println("Last Element: " + lastElement); // Remove elements from the Deque int removedNumber1 = numbers.pollFirst(); System.out.println("Removed First Element: " + removedNumber1); int removedNumber2 = numbers.pollLast(); System.out.println("Removed Last Element: " + removedNumber2); System.out.println("Updated Deque: " + numbers); ) )
Production
Deque: (3, 1, 2) Premier élément: 3 Dernier élément: 2 Supprimé Premier élément: 3 Supprimé Dernier élément: 2 Mis à jour Deque: (1)
Pour en savoir plus, visitez Java ArrayDeque.