File d'attente FIFO en Java

Rashmi Patidar 12 octobre 2023
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 Patidar avatar Rashmi Patidar avatar

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

Article connexe - Java Queue