L'interface appelée Deque est présente dans le package java.util. C'est le sous-type de la file d'attente d'interface. Le Deque prend en charge l'ajout ainsi que la suppression d'éléments aux deux extrémités de la structure de données. Par conséquent, un deque peut être utilisé comme pile ou comme file d’attente. Nous savons que la pile prend en charge l'opération Last In First Out (LIFO) et que l'opération First In First Out est prise en charge par une file d'attente. Comme un deque prend en charge les deux, l’une ou l’autre des opérations mentionnées peut y être effectuée. Deque est un acronyme pour 'file d'attente à double extrémité'.
Déclaration de l'interface Deque
public interface Deque extends Queue
Méthodes de l'interface Java Deque
Méthode | Description |
---|---|
booléen ajouter (objet) | Il est utilisé pour insérer l'élément spécifié dans ce deque et renvoyer true en cas de succès. |
offre booléenne (objet) | Il est utilisé pour insérer l'élément spécifié dans ce deque. |
Objet supprimer() | Il sert à récupérer et à retirer la tête de ce deque. |
Sondage d'objet() | Il est utilisé pour récupérer et supprimer la tête de ce deque, ou renvoie null si ce deque est vide. |
Élément d'objet() | Il sert à récupérer, mais ne supprime pas, la tête de ce deque. |
Aperçu de l'objet() | Il est utilisé pour récupérer, mais ne supprime pas, la tête de ce deque, ou renvoie null si ce deque est vide. |
Objet coup d'oeilPremier() | La méthode renvoie l'élément head du deque. La méthode ne supprime aucun élément du deque. Null est renvoyé par cette méthode, lorsque le deque est vide. |
Objet peekLast() | La méthode renvoie le dernier élément du deque. La méthode ne supprime aucun élément du deque. Null est renvoyé par cette méthode, lorsque le deque est vide. |
Offre booléennePremier(e) | Insère l'élément e au début de la file d'attente. Si l'insertion réussit, true est renvoyé ; sinon, faux. |
Objet offreDernier(e) | Insère l'élément e à la fin de la file d'attente. Si l'insertion réussit, true est renvoyé ; sinon, faux. |
Classe ArrayDeque
Nous savons qu'il n'est pas possible de créer un objet d'interface en Java. Par conséquent, pour l'instanciation, nous avons besoin d'une classe qui implémente l'interface Deque, et cette classe est ArrayDeque. Il grandit et rétrécit selon l'usage. Il hérite également de la classe AbstractCollection.
Les points importants concernant la classe ArrayDeque sont :
- Contrairement à Queue, nous pouvons ajouter ou supprimer des éléments des deux côtés.
- Les éléments nuls ne sont pas autorisés dans ArrayDeque.
- ArrayDeque n'est pas thread-safe, en l'absence de synchronisation externe.
- ArrayDeque n'a aucune restriction de capacité.
- ArrayDeque est plus rapide que LinkedList et Stack.
Hiérarchie ArrayDeque
La hiérarchie de la classe ArrayDeque est donnée dans la figure affichée à droite de la page.
image de démarque
Déclaration de classe ArrayDeque
Voyons la déclaration de la classe java.util.ArrayDeque.
public class ArrayDeque extends AbstractCollection implements Deque, Cloneable, Serializable
Exemple Java ArrayDeque
Nom de fichier: ArrayDequeExample.java
import java.util.*; public class ArrayDequeExample { public static void main(String[] args) { //Creating Deque and adding elements Deque deque = new ArrayDeque(); deque.add('Ravi'); deque.add('Vijay'); deque.add('Ajay'); //Traversing elements for (String str : deque) { System.out.println(str); } } }
Sortir:
Ravi Vijay Ajay
Exemple Java ArrayDeque : offerFirst() et pollLast()
Nom de fichier: DequeExample.java
import java.util.*; public class DequeExample { public static void main(String[] args) { Deque deque=new ArrayDeque(); deque.offer('arvind'); deque.offer('vimal'); deque.add('mukul'); deque.offerFirst('jai'); System.out.println('After offerFirst Traversal...'); for(String s:deque){ System.out.println(s); } //deque.poll(); //deque.pollFirst();//it is same as poll() deque.pollLast(); System.out.println('After pollLast() Traversal...'); for(String s:deque){ System.out.println(s); } } }
Sortir:
After offerFirst Traversal... jai arvind vimal mukul After pollLast() Traversal... jai arvind vimal
Exemple Java ArrayDeque : livre
Nom de fichier: ArrayDequeExample.java
import java.util.*; class Book { int id; String name,author,publisher; int quantity; public Book(int id, String name, String author, String publisher, int quantity) { this.id = id; this.name = name; this.author = author; this.publisher = publisher; this.quantity = quantity; } } public class ArrayDequeExample { public static void main(String[] args) { Deque set=new ArrayDeque(); //Creating Books Book b1=new Book(101,'Let us C','Yashwant Kanetkar','BPB',8); Book b2=new Book(102,'Data Communications & Networking','Forouzan','Mc Graw Hill',4); Book b3=new Book(103,'Operating System','Galvin','Wiley',6); //Adding Books to Deque set.add(b1); set.add(b2); set.add(b3); //Traversing ArrayDeque for(Book b:set){ System.out.println(b.id+' '+b.name+' '+b.author+' '+b.publisher+' '+b.quantity); } } }
Sortir:
101 Let us C Yashwant Kanetkar BPB 8 102 Data Communications & Networking Forouzan Mc Graw Hill 4 103 Operating System Galvin Wiley 6