Maison  >  Article  >  Java  >  Interface de file d'attente Java

Interface de file d'attente Java

PHPz
PHPzoriginal
2024-08-30 16:04:211135parcourir

Queue Interface est membre du package util.java. Il fait partie du cadre de collection et est utilisé pour étendre l'interface de collection. Comme l’interface de collecte est l’interface principale, l’interface de file d’attente en inclut toutes les méthodes. Une file d'attente est une structure de données FIFO (First In First Out). La file d'attente représente une structure de données implémentée de manière à ce que les éléments puissent être insérés à la dernière position de la commande. Dans une file d'attente, l'élément inséré en premier dans la file d'attente sera sorti en premier. Une file d'attente en Java est une interface ; il ne peut donc pas être instancié. L'interface de file d'attente est implémentée principalement dans deux classes, à savoir LinkedList et PriorityQueue. C'est une séquence ordonnée d'objets comme une liste Java.

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

Syntaxe

Dans la syntaxe suivante, Un objet obj est instancié à l'aide de la classe LinkedList / PriorityQueue. Dans les deux syntaxes de file d'attente ci-dessous, l'implémentation de LinkedList est la norme.

Queue qObj = new LinkedList();

OU

Queue qObj = new PriorityQueue();

Les instances de file d'attente avec le type de données restreint peuvent être créées à l'aide de la syntaxe donnée suivante.

Queue<String> q = new LinkedList<String>();

Méthodes d'interface de file d'attente

Certaines des méthodes couramment utilisées d'interface de file d'attente sont indiquées ci-dessous

  • add() : méthode add() utilisée pour insérer des éléments dans la file d'attente. Il renvoie vrai si la réponse réussit ; sinon, cela génère des exceptions.
  • element() : element() est l'une des méthodes importantes qui renvoient l'élément de tête de file d'attente. Si la file d'attente est vide, elle génère des exceptions. Dans la section exemple, nous pouvons voir comment fonctionne la méthode element().
  • offer() : Cette méthode est également utilisée pour insérer des éléments dans la file d'attente. La seule différence entre add() et l'offre est que si la méthode add ne peut pas ajouter l'élément dans la file d'attente, elle crée une exception alors que la méthode offer ne le fait pas.
  • peek() : la méthode peek() est presque similaire à la méthode element(). Il vérifie la tête de file d'attente. Si la file d'attente est vide, alors elle renvoie NULL
  • poll() : Cette méthode supprime un élément du début de la file d'attente et renvoie l'élément avant de la file d'attente. Si la file d'attente est vide, elle renvoie null.
  • remove() : Cette méthode utilisée pour supprimer et renvoyer l'élément avant de la file d'attente. Si l'élément s'avère vide, cela crée des exceptions.
  • size() : Cette méthode renvoie le nombre d'éléments disponibles dans la file d'attente.

Exemples d'implémentation de l'interface de file d'attente Java

Vous trouverez ci-dessous des exemples d'implémentation de l'interface de file d'attente Java :

Exemple n°1

Cet exemple montre comment différentes méthodes sont utilisées dans le programme et ce que ces méthodes renvoient.

  1. Une instance de la Queue est créée de type LinkedList.
  2. De plus, différents éléments de chaîne sont ajoutés dans la file d'attente à l'aide de la méthode add.
  3. Dans l'instruction suivante, la taille de la file d'attente est affichée à l'aide de la méthode size().
  4. Les éléments de la file d'attente, l'élément de tête de la file d'attente sont affichés dans la ligne suivante.
  5. La méthode Remove est utilisée en outre pour supprimer l'élément de la file d'attente.
  6. Les deux lignes suivantes affichent respectivement les éléments disponibles dans la file d'attente, élément principal de la file d'attente.

Code :

//importing packages
import java.util.*;
public class QueueInterfaceExample {
public static void main(String[] args){
Queue qObj = new LinkedList();
//adding element to the queue
qObj.add("Action");
qObj.add("speak");
qObj.add("louder");
qObj.add("than");
qObj.add("Words");
//items available in the queue
System.out.println("\nTotal item count in Queue: " + qObj.size());
//printing queue here
System.out.println("\nItems in Queue: " + qObj);
//printing the head element of the queue
System.out.println("\nHead item of the Queue: " + qObj.element());
//removing head element from the queue
qObj.remove();
//items available in the queue
System.out.println("\nAvailable item in Queue: " + qObj);
//items available in the queue after applying peek method
System.out.println("\nHead item of the Queue: " + qObj.peek());
//applying the poll method to the
qObj.poll();
//items available in the queue after applying poll method
System.out.println("\nAvailable item in Queue: " + qObj);
}
}

Sortie :

Interface de file d'attente Java

Exemple n°2

Dans cet exemple, nous pouvons voir comment des types restreints d'éléments peuvent être ajoutés à la file d'attente.

Code :

//importing package here
import java.util.*;
public class QueueInterfaceExample2 {
public static void main(String[] args){
//initialize a Queue using a LinkedList
Queue<Integer> qObj = new LinkedList<>();
//adding element to the queue
qObj.add(50);
qObj.add(175);
qObj.add(1450);
qObj.add(2750);
qObj.add(10250);
//items available in the queue
System.out.println("\nTotal item count in Queue: " + qObj.size());
//printing queue here
System.out.println("\nItems in Queue: " + qObj);
//items available in the queue after applying poll method
System.out.println("\nAvailable item in Queue: " + qObj);
//declaring a integer variable here
Integer intVar = 1450;
//condition to check if element is available in the queue
if(qObj.contains(intVar)){
//items available in the queue after applying poll method
System.out.println("\nSpecified item is available in the Queue.");
}
//declaring a integer variable here
Integer intVar2 = 1500;
//condition to check if element is available in the queue
if(qObj.contains(intVar2)){
//items available in the queue after applying poll method
System.out.println("\nSpecified item is available in the Queue.");
}else{
//items available in the queue after applying poll method
System.out.println("\nSpecified item " + intVar2 + " is not available in the Queue.");
}
}
}

Sortie :

Interface de file d'attente Java

Exemple #3

Dans cet exemple, essayez d'ajouter le type d'élément String dans la file d'attente restreinte de type Integer.

Code :

importing package here
import java.util.*;
public class QueueInterfaceExample3 {
public static void main(String[] args){
//initialize a Queue using a LinkedList
Queue<Integer> qObj = new LinkedList<>();
//adding element to the queue
qObj.add(50);
qObj.add(175);
qObj.add(1450);
qObj.add(2750);
qObj.add("Happy");
//items available in the queue
System.out.println("\nTotal item count in Queue: " + qObj.size());
//printing queue here
System.out.println("\nItems in Queue: " + qObj);
//items available in the queue after applying poll method
System.out.println("\nAvailable item in Queue: " + qObj);
}
}

Sortie :

La sortie du programme ci-dessus produira une erreur car l'insertion d'un élément de type String dans la file d'attente de type Integer n'est pas prise en charge.

Interface de file d'attente Java

Conclusion

Dans l'article ci-dessus, l'interface de file d'attente est clairement décrite. Il est utilisé pour étendre les interfaces de collection. Il est également expliqué comment le FIFO est utilisé dans l'interface de file d'attente. L'utilisation de l'interface de file d'attente est donnée dans les sections ci-dessus. Certains exemples sont donnés dans l'article pour voir comment fonctionne la méthode queue & file d'attente.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn