English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
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 :
L'interface Queue peut être héritée par divers sous-interfaces :
Deque
BlockingQueue
BlockingDeque
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.
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.
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.
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.