Normalement, les objets dans la file d'attente sont placés dans l'ordre FIFO. c'est-à-dire, premier entré, premier sorti. Dans certains cas, les objets doivent être traités en fonction de leur priorité, et c'est à ce moment-là que Java PriorityQueue est entré en action. En plus de cela, PriorityQueue possède certaines fonctionnalités :
Commencez votre cours de développement de logiciels libres
Développement Web, langages de programmation, tests de logiciels et autres
Déclaration de Java PriorityQueue
Java PriorityQueue peut être déclaré en utilisant la syntaxe ci-dessous.
public class PriorityQueue<E> extends AbstractQueue<E> implements Serializable
Voici les constructeurs couramment utilisés dans Java PriorityQueue :
1. PriorityQueue() : Une PriorityQueue sera créée avec 11 car sa capacité initiale est par défaut. De plus, les éléments sont ordonnés en fonction de l'ordre naturel.
2. PriorityQueue(Collection extends E> c) : Une PriorityQueue sera créé avec des éléments de la collection mentionnée.
3. PriorityQueue(int ic) : Une PriorityQueue sera créée avec la capacité initiale ic mentionnée. De plus, les éléments sont ordonnés en fonction de l'ordre naturel.
4. PriorityQueue(int ic, Comparator super E> comparator) : Une PriorityQueue sera créée avec la capacité initiale mentionnée. De plus, les éléments sont classés en fonction du comparateur mentionné.
5. PriorityQueue(PriorityQueue extends E> c) : Une PriorityQueue sera créé avec des éléments dans la PriorityQueue mentionnée.
6. PriorityQueue(SortedSet extends E> c): Une PriorityQueue sera créée avec des éléments de l'ensemble trié mentionné.
Voyons maintenant quelques-unes des méthodes couramment utilisées dans Java PriorityQueue :
1. add(E e) : L'élément e sera ajouté à PriorityQueue lors de l'appel de cette méthode.
2. size() : Le nombre d'éléments de la collection sera renvoyé.
3. clear() : Tous les éléments de PriorityQueue seront supprimés.
4. comparator() : Le comparateur utilisé pour trier la file d'attente sera renvoyé. Si l'ordre naturel est utilisé, null sera renvoyé.
5. contient(Objecto) : Si la file d'attente contient l'élément mentionné o, true sera renvoyé.
6. itérateur() : L'itérateur utilisé sur les éléments de la file d'attente sera renvoyé.
7. offre(Ee): L'élément mentionné e sera inséré dans la file d'attente.
8. peek() : Le chef de PriorityQueue sera récupéré, pas supprimé. Si aucun élément n'est présent, null sera renvoyé.
9. poll() : Le chef de PriorityQueue sera récupéré et supprimé. Si aucun élément n'est présent, null sera renvoyé.
10. supprimer(Objecto) : Une seule instance de l'élément mentionné sera supprimée de la file d'attente.
11. toArray() : Un tableau de tous les éléments de la file d'attente sera renvoyé.
12. toArray(T[] a): Un tableau de tous les éléments de la file d'attente sera renvoyé dans lequel le temps d'exécution sera celui du tableau mentionné.
Vous trouverez ci-dessous des exemples de Java PriorityQueue :
Exemple de programme pour créer une PriorityQueue.
Code :
import java.util.Iterator; import java.util.PriorityQueue; class Main{ public static void main(String args[]){ //create a PriorityQueue PriorityQueue<String> q=new PriorityQueue<String>(); //add elements to the queue q.add("Anna"); q.add("Annamu"); q.add("Adam"); q.add("Iza"); q.add("Thukidi"); System.out.println("Head of the queue:"+q.element()); System.out.println("Head of the queue :"+q.peek()); //Retrieve elements in queue using iterator System.out.println("Queue elements are :"); Iterator it=q.iterator(); while(it.hasNext()) { System.out.println(it.next()); } //remove the element from queue q.remove(); //remove the head of the queue q.poll(); System.out.println("\n Queue after the removal of 2 elements :"); //Retrieve elements in queue using iterator Iterator<String> it2=q.iterator(); while(it2.hasNext()) { System.out.println(it2.next()); } } }
Sortie :
Fonctionnement de l'exemple de programme :
Exemple de programme pour créer une PriorityQueue à l'aide d'un comparateur.
Code:
import java.util.Comparator; import java.util.Iterator; import java.util.PriorityQueue; class PriorityQueueExample{ public static void main(String[] args) { //Create a custom comparator. In this, length of 2 strings are getting compared Comparator<String> cmp = new Comparator<String>() { @Override public int compare(String str1, String str2) { return str1.length() - str2.length(); } }; // PriorityQueue creation with Comparator PriorityQueue<String> q = new PriorityQueue<>(cmp); // Add elements to the Queue q.add("Anna"); q.add("Annamu"); q.add("Adam"); q.add("Iza"); q.add("Thukidi"); q.add("Sam"); q.add("Elsa"); q.add("Kukku"); q.add("Mathu"); q.add("Radha"); // Remove elements from the Queue while (!q.isEmpty()) { System.ou<em>t</em>.println(q.remove()); } } }
Output:
Working of the sample program:
Sample program to implement a PriorityQueue by making use of different methods.
Code:
import java.util.*; class Main{ public static void main(String args[]){ //create a PriorityQueue PriorityQueue<String> q=new PriorityQueue<String>(); //add elements to the queue q.add("Anna"); q.add("Annamu"); q.add("Adam"); q.add("Iza"); q.add("Thukidi"); System.out.println("Head of the queue:"+q.element()); System.out.println("Head of the queue :"+q.peek()); //Retrieve elements in queue using iterator System.out.println("Queue elements are :"); Iterator it=q.iterator(); while(it.hasNext()) { System.out.println(it.next()); } //remove the element from queue q.remove(); //remove the head of the queue q.poll(); // Check whether the element Anna is present in queue using the method Contains() boolean b = q.contains("Anna"); System.out.println("Is there any element Anna in the PriorityQueue ? " + b); //Check whether the element Iza is present in queue using the method Contains() boolean bl = q.contains("Iza"); System.out.println("Is there any element Anna in the PriorityQueue ? " + bl); } }
Output:
Working of the sample program:
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!