Instancier la file d'attente en Java
-
Utilisez la classe
LinkedList
pour implémenter un objetQueue
en Java -
Utiliser la classe
ArrayDeque
pour implémenter un objetQueue
en Java
Cet article présentera des méthodes pour instancier un objet Queue
en Java. Nous décrirons et implémenterons plus en détail les appels de méthode à partir de l’objet instancié dans ce didacticiel. Une file d’attente est une interface, et nous ne pouvons pas créer un objet directement. Mais on peut implémenter la classe qui implémente déjà l’interface Queue
. Certaines de ces classes sont AbstractQueue
, ArrayDeque
, DelayQueue
, LinkedList
. Par conséquent, nous utiliserons les classes LinkedList
et ArrayDeque
pour instancier Queue dans ce tutoriel.
Utilisez la classe LinkedList
pour implémenter un objet Queue
en Java
La classe LinkedList
implémente le concept de structure de données LinkedList. Il fait partie du framework de collection et est disponible dans le package java.util
. Les éléments de la LinkedList sont stockés sous forme de pointeurs et d’adresses. L’élément est appelé nœud. Nous ne pouvons pas accéder au nœud directement dans LinkedList. Pour accéder à un nœud, nous devons commencer par la tête et suivre pour atteindre un nœud auquel nous voulons accéder. La LinkedList implémente l’interface List et hérite de toutes les méthodes présentes dans l’interface List et l’interface de collection. Queue
est également disponible dans le même package. On peut créer un objet de Queue
implémentant la classe LinkedList
. Nous pouvons utiliser la fonction add()
pour ajouter les données dans la file d’attente.
Tout d’abord, importez la file d’attente et la LinkedList en utilisant respectivement import java.util.Queue
et import java.util.LinkedList
. Ensuite, créez une classe QueueDemo
et déclarez la méthode main. Ensuite, instanciez un objet queue
en implémentant la classe LinkedList
. Appelez la méthode add()
avec l’objet et ajoutez cinq valeurs entières. Enfin, imprimez les éléments de la Queue.
Dans l’exemple, nous avons utilisé une classe LinkedList
qui implémente l’interface Queue pour créer un objet file d’attente. En effet, la file d’attente est une interface et nous ne pouvons pas créer son objet directement. Nous avons spécifié le type générique Integer
lors de la création de l’objet car nous stockons la valeur entière dans la file d’attente. La section de sortie affiche les éléments stockés dans la file d’attente.
Exemple de code :
import java.util.LinkedList;
import java.util.Queue;
public class QueueDemo {
public static void main(String[] args) {
Queue<Integer> queue = new LinkedList<>();
queue.add(8);
queue.add(9);
queue.add(10);
queue.add(2);
queue.add(5);
System.out.println("Added Queue in memory: " + queue);
}
}
Production:
Added Queue in memory: [8, 9, 10, 2, 5]
Utiliser la classe ArrayDeque
pour implémenter un objet Queue
en Java
Le langage Java a défini la classe ArrayDeque
dans le cadre du cadre de collecte. Il crée un ensemble vide d’emplacements en mémoire avec une capacité initiale suffisante pour contenir seize éléments. ArrayDeque est également appelé Array Double Ended Queue, ce qui nous permet d’insérer ou de supprimer un élément des deux côtés. Il implémente une pile (dernier entré, premier sorti) ou une file d’attente (premier entré, premier sorti). On peut donc créer un objet Queue
avec l’implémentation de la classe ArrayDeque
.
Importez les packages comme ci-dessus mais assurez-vous d’importer le ArrayDeque
dans cette méthode au lieu de la LinkedList
. Ensuite, créez une classe Demo et déclarez la méthode principale. Implémentez ensuite la classe ArrayDeque
en instanciant l’interface Queue
. Créez un objet de Queue
en tant que aq
. Utilisez l’objet aq
pour appeler quatre fois la méthode add()
. Ajoutez quatre chaînes différentes. Enfin, imprimez l’objet aq
.
Dans l’exemple ci-dessous, nous avons utilisé le type générique String
lors de la création de l’objet. C’est parce que nous ajoutons des éléments de chaîne dans la file d’attente. Ainsi, nous avons instancié un objet Queue
implémentant la classe ArrayDeque
.
Exemple de code :
import java.util.ArrayDeque;
import java.util.Queue;
public class Demo {
public static void main(String[] args) {
Queue<String> aq = new ArrayDeque<String>();
aq.add("first");
aq.add("second");
aq.add("third");
aq.add("fourth");
System.out.println("Added Queue in memory: " + aq);
}
}
Production:
Added Queue in memory: [first, second, third, fourth]