File d'attente FIFO en Java
Une file d’attente est une structure de données linéaire qui implémente le concept du premier entré, premier sorti. Le concept signifie que les éléments qui entrent en premier sont les premiers à sortir.
Les termes techniques pour représenter la Queue
utilisent les extrémités avant et arrière. Les éléments sont ajoutés à la Queue
par l’arrière et sont retirés par l’avant.
L’exemple concret du concept est la rangée de guichets, où la personne qui se trouve en première position obtient le billet en premier. Maintenant, en Java, le concept ou la structure de données est implémenté dans l’interface Queue
. L’interface est présente dans le package java.util
.
Vous trouverez ci-dessous le bloc de code qui illustre la structure de la file d’attente.
package F10;
import java.util.LinkedList;
import java.util.Queue;
public class Main {
public static void main(String[] args) {
Queue queue = new LinkedList<String>();
queue.add("First");
queue.add("Second");
queue.add("third");
System.out.println("Created Queue: " + queue);
String value = (String) queue.remove();
System.out.println("The element deleted from the head is: " + value);
System.out.println("The queue after deletion: " + queue);
String head = (String) queue.peek();
System.out.println("The head of the present queue is: " + head);
int size = queue.size();
System.out.println("The size of the queue is: " + size);
}
}
Il existe différentes manières d’implémenter la structure de données Queue
en Java. Dans le bloc de code ci-dessus, l’utilisation de LinkedList
implémente le concept.
Tout d’abord, une référence Queue
est instanciée à l’aide de l’instruction new LinkedList
. La méthode add
est présente dans l’interface Queue
, qui insère l’élément spécifié dans la Queue
. La fonction renvoie le booléen true
lorsque la valeur est ajoutée.
La méthode peut lever l’IllegalStateException
lorsque l’élément ne peut pas être ajouté en raison de restrictions de taille. Il lève également NullPointerException
lorsque la valeur passée est nulle. Lorsque l’ensemble initial d’éléments est ajouté à la liste, la file d’attente est imprimée. L’instruction System.out.println
prend la chaîne qui doit être imprimée.
Ensuite, la fonction remove
est appelée sur l’instance Queue
. Il supprimera l’élément présent sur la tête de la file d’attente et, par conséquent, retournera l’élément de tête.
Il existe une fonction similaire poll
qui supprime également l’élément présent sur la tête. La seule différence réside dans la fonction remove
qui lève NoSuchElementException
lorsque la file d’attente est vide. Les valeurs supprimées sont stockées dans une variable et imprimées. La file d’attente restante est imprimée pour vérifier les éléments restants.
La fonction peek
récupère l’élément le plus haut dans la file d’attente et ne le supprime pas ; c’est un moyen de vérifier l’élément en tête de la file d’attente. La fonction renvoie la valeur de tête et lève NoSuchElementException
lorsque la file d’attente est vide. La fonction size
est présente dans l’interface Collection
et renvoie la taille de la collection. Ainsi, cette méthode imprime la taille des éléments restants dans la file d’attente.
Production:
Created Queue: [First, Second, third]
The element deleted from the head is: First
The Queue after deletion: [Second, third]
The head of the present Queue is: Second
The size of the Queue is: 2
Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.
LinkedIn