English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
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.
Pour utiliser les fonctionnalités de l'interface Deque, nous devons utiliser les classes qui implémentent l'interface :
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.
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.
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
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.