English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans cet exemple, nous allons apprendre à implémenter la structure de données file en Java.
Pour comprendre cet exemple, assurez-vous de visiter d'abord les tutoriels suivants,
public class Queue { int SIZE = 5; int items[] = new int[SIZE]; int avant, arrière; Queue() { avant = -1; arrière = -1; } //Vérifier si la file est pleine boolean estPleine() { if (avant == 0 && arrière == SIZE - 1) { retourner true; } retourner false; } //Vérifier si la file est vide boolean estVide() { if (avant == -1]) retourner true; else retourner false; } //Insérer l'élément dans la file void enfiler(int element) { //Si la file est pleine if (estPleine()) { System.out.println("La file est pleine"); } else {}} if (avant == -1) { //Marquer avant comme le premier élément de la file avant = 0; } arrière++; //Insérer un élément à l'arrière items[arrière] = element; System.out.println("Insérer " + element); } } //Supprimer l'élément de la file int déQueue() { int element; //Si la file est vide if (estVide()) { System.out.println("La file est vide"); retourner (-1); } else {}} //Supprimer l'élément en tête de la file element = items[avant]; //Si la file ne contient qu'un seul élément if (avant >= arrière) { avant = -1; arrière = -1; } else {}} //Marquer le prochain élément comme avant avant++; } System.out.println(element + "Supprimé"); retourner (element); } } //Afficher les éléments de la file void afficher() { int i; if (estVide()) { System.out.println("Queue est vide"); } else {}} //Afficher l'index avant de la file System.out.println("\nIndex avant-> \ + front); //Afficher les éléments de la file System.out.println("Éléments -> "); for (i = front; i <= rear; i++]) System.out.print(items[i + ""); // Afficher l'index arrière de la file System.out.println("\nIndex arrière-> \ + rear); } } public static void main(String[] args) { //Créer un objet de la classe Queue Queue q = new Queue(); //Tentative de suppression d'un élément de la file // La file actuelle est vide // Ainsi, il n'est pas possible de supprimer q.deQueue(); // Insérer l'élément dans la file for(int i = 1; i < 6; i ++) { q.enQueue(i); } // Impossible d'ajouter l'élément6éléments ajoutés à la file, car la file est pleine q.enQueue(6); q.display(); // deQueue supprime l'élément d'entrée premier, par exemple :1 q.deQueue(); //Maintenant, nous avons seulement4éléments q.display(); } }
Output result
La file est vide Insérer 1 Insérer 2 Insérer 3 Insérer 4 Insérer 5 La file est pleine Index avant-> 0 Éléments -> 1 2 3 4 5 Index arrière-> 4 1 Supprimé Index avant-> 1 Éléments -> 2 3 4 5 Index arrière-> 4
Dans cet exemple, nous avons déjà implémenté la structure de données file en Java.
Java fournit une interface intégrée Queue pouvant être utilisée pour implémenter des files.
import java.util.Queue; import java.util.LinkedList; class Main { public static void main(String[] args) { //Créer une file en utilisant la classe LinkedList Queue<Integer> numbers = new LinkedList<>(); // enqueue //Insérer un élément à la fin de la file numbers.offer(1); numbers.offer(2); numbers.offer(3); System.out.println("File: ", + numbers); // dequeue //Supprimer l'élément en tête de la file int removedNumber = numbers.poll(); System.out.println("Élément supprimé: ", + removedNumber); System.out.println("After deletion, queue: ") + numbers); } }
Output result
Queue: [1, 2, 3] Deleted element: 1 After deletion, queue: [2, 3]
In the above example, we used Java's Queue interface to implement the queue. Here, we use the LinkedList class to implement the Queue interface.
Numbers.offer() - Insert an element at the end of the queue
Numbers.poll() - Remove an element from the front of the queue
Note that we used angle brackets <Integer> when creating the queue. It indicates that the queue is a generic type. For more information about generics, please visitJava generics.
We can also use other interfaces and classes to replace Queue and LinkedList. For example,