English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java Base Tutorial

Contrôle de flux Java

Java tableau

Java orienté objet (I)

Java orienté objet (II)

Java orienté objet (III)

Java Exception Handling

Java List (liste)

Java Queue (file)

Java Map collection

Java Set collection

Java entrée/sortie (I/O)

Reader Java/Writer

Autres sujets Java

Java Queue Interface

Dans ce tutoriel, nous allons étudier l'interface Queue Java et ses méthodes.

L'interface Queue du cadre de collection Java fournit les fonctionnalités de la structure de données de file. Elle hérite de l'interface Collection.

Classes implémentant la file

Comme Queue est une interface, nous ne pouvons pas fournir une implémentation directe.

Pour utiliser les fonctionnalités de Queue, nous devons utiliser les classes qui l'implémentent :

Interface héritant de Queue

L'interface Queue peut être héritée par divers sous-interfaces :

  • Deque

  • BlockingQueue

  • BlockingDeque

Le processus de fonctionnement de la structure de données de file

Dans la file, avecPremier entré, premier servide manière à stocker et accéder aux éléments. C'est-à-dire queAjouter des éléments à l'arrière et supprimer des éléments à l'avant.

Comment utiliser la file (Queue) ?

En Java, il est nécessaire d'importer le paquet java.util.Queue pour utiliser Queue.

// Création d'une LinkedList
Queue<String> animal1 = new LinkedList<>();
// créée en utilisant ArrayDeque
Queue<String> animal2 = new ArrayDeque<>();
// créée en utilisant PriorityQueue
Queue<String> animal 3 = new PriorityQueue<>();

Dans ce cas, nous avons respectivement créé des objets de la classe LinkedList, ArrayDeque et PriorityQueue pour Animal1, Animal2et Animal3.Ces objets peuvent utiliser les fonctionnalités de l'interface Queue.

Méthodes de l'interface Queue

L'interface Queue inclut toutes les méthodes de l'interface Collection. Cela est dû au fait que Collection est l'interface superieure de Queue.

Certaines méthodes courantes de l'interface Queue :

  • add() - Insère l'élément spécifié dans la file d'attente. Si la tâche est réussie, add() retourne true, sinon lève une exception.

  • offer() - Insère l'élément spécifié dans la file d'attente. Si la tâche est réussie, offer() retourne true, sinon retourne false.

  • element() - Retourne l'élément de tête de la file d'attente. Si la file d'attente est vide, lève une exception.

  • peek() - Retourne l'élément de tête de la file d'attente. Si la file d'attente est vide, retourne null.

  • remove() - Retourne et supprime l'élément de tête de la file d'attente. Si la file d'attente est vide, lève une exception.

  • poll() - Retourne et supprime l'élément de tête de la file d'attente. Si la file d'attente est vide, retourne null.

Implémentation de l'interface Queue

1.implémenter la classe LinkedList

import java.util.Queue;
import java.util.LinkedList;
class Main {
    public static void main(String[] args) {
        // Créer une file d'attente en utilisant la classe LinkedList
        Queue<Integer> numbers = new LinkedList<>();
        //ajouter un élément à la
        numbers.offer(1);
        numbers.offer(2);
        numbers.offer(3);
        System.out.println("Queue: " + numbers);
        // Accéder à l'élément Queue
        int accessedNumber = numbers.peek();
        System.out.println("Access element: ") + accessedNumber);
        //élément Queue de la file d'attente
        int removedNumber = numbers.poll();
        System.out.println("Delete element: ") + removedNumber);
        System.out.println("Updated Queue: ") + numbers);
    }
}

Output result

Queue:1, 2, 3]
Accéder à l'élément: 1
Delete element: 1
Updated Queue:2, 3]

For more information, please visitJava LinkedList.

2.implémenter la classe PriorityQueue

import java.util.Queue;
import java.util.PriorityQueue;
class Main {
    public static void main(String[] args) {
        // Créer une file d'attente en utilisant la classe PriorityQueue 
        Queue<Integer> numbers = new PriorityQueue<>();
        //ajouter un élément à la
        numbers.offer(5);
        numbers.offer(1);
        numbers.offer(2);
        System.out.println("Queue: " + numbers);
        //Access element of Queue
        int accessedNumber = numbers.peek();
        System.out.println("Access element: ") + accessedNumber);
        //Delete element from Queue
        int removedNumber = numbers.poll();
        System.out.println("Delete element: ") + removedNumber);
        System.out.println("Updated Queue: ") + numbers);
    }
}

Output result

Queue:1, 5, 2]
Access element: 1
Delete element: 1
Updated Queue:2, 5]

For more information, please visitJava PriorityQueue.

In the following tutorial, we will learn in detail about the different sub-interfaces and their implementations of the Queue interface.