Comment implémenter la file d'attente prioritaire en Java?



Cet article vous présentera un autre sujet intéressant dans le domaine de la programmation qui est la file d'attente prioritaire en Java avec une démonstration

Une priorité File d'attente en Java est utilisé lorsque les objets sont censés être traités en fonction de la priorité. Cet article vous aidera à explorer ce concept en détail. Les pointeurs suivants seront traités dans cet article,

Alors commençons alors,





File d'attente prioritaire en Java

Comme mentionné précédemment, une PriorityQueue est utilisée lorsque les objets sont censés être traités en fonction de la priorité. On sait qu’une file d’attente suit l’algorithme du premier entré, premier sorti, mais parfois les éléments de la file doivent être traités en fonction de la priorité, c’est alors que PriorityQueue entre en jeu. PriorityQueue est basé sur le tas de priorité. Les éléments de la file d'attente prioritaire sont classés selon l'ordre naturel, ou par un comparateur fourni au moment de la construction de la file d'attente, en fonction du constructeur utilisé. Quelques points importants sur la file d'attente prioritaire sont les suivants:

  • PriorityQueue n'autorise pas les pointeurs NULL.
  • Nous ne pouvons pas créer de PriorityQueue d’objets non comparables
  • PriorityQueue sont des files d'attente indépendantes.
  • La tête de cette file d'attente est le moindre élément par rapport à l'ordre spécifié. Si plusieurs éléments sont liés pour la moindre valeur, la tête est l'un de ces éléments - les liens sont rompus arbitrairement.
  • Les opérations de récupération de file d'attente interrogent, suppriment, aperçoivent et accèdent à l'élément en tête de la file d'attente.
  • Il hérite des méthodes des classes AbstractQueue, AbstractCollection, Collection et Object.

Continuez avec cet article sur la file d'attente prioritaire en Java



java comment créer un tableau d'objets

Déclaration de l'interface de file d'attente

interface publique La file d'attente étend la collection

Continuez avec cet article sur la file d'attente prioritaire en Java

Méthodes de l'interface de file d'attente Java

Méthode La description

boolean add (objet)



Il est utilisé pour insérer l'élément spécifié dans cette file d'attente et retourner true en cas de succès.

comment trouver palindrome en java

offre booléenne (objet)

Il est utilisé pour insérer l'élément spécifié dans cette file d'attente.

Supprimer l'objet ()

Il est utilisé pour récupérer et supprimer la tête de cette file d'attente.

Sondage d'objet ()

Il est utilisé pour récupérer et supprimer la tête de cette file d'attente, ou retourne null si cette file d'attente est vide.

Élément objet ()

Il est utilisé pour récupérer, mais ne supprime pas, la tête de cette file d'attente.

Aperçu de l'objet ()

Il est utilisé pour récupérer, mais ne supprime pas, la tête de cette file d'attente, ou retourne null si cette file d'attente est vide.

Continuez avec cet article sur la file d'attente prioritaire en Java

Exemple

package com.journaldev.collections

import java.util.Comparator import java.util.PriorityQueue import java.util.Queue import java.util.Random classe publique PriorityQueueExample {public static void main (String [] args) {// exemple de classement naturel de la file de priorité Queue integerPriorityQueue = new PriorityQueue (7) Random Rand = new Random () for (int i = 0i<7i++){ integerPriorityQueue.add(new Integer(rand.nextInt(100))) } for(int i=0i<7i++){ Integer in = integerPriorityQueue.poll() System.out.println('Processing Integer:'+in) } //PriorityQueue example with Comparator Queue customerPriorityQueue = new PriorityQueue(7, idComparator) addDataToQueue(customerPriorityQueue) pollDataFromQueue(customerPriorityQueue) } //Comparator anonymous class implementation public static Comparator idComparator = new Comparator(){ @Override public int compare(Customer c1, Customer c2) { return (int) (c1.getId() - c2.getId()) } } //utility method to add random data to Queue private static void addDataToQueue(Queue customerPriorityQueue) { Random rand = new Random() for(int i=0 i<7 i++){ int id = rand.nextInt(100) customerPriorityQueue.add(new Customer(id, 'Pankaj '+id)) } } //utility method to poll data from queue private static void pollDataFromQueue(Queue customerPriorityQueue) { while(true){ Customer cust = customerPriorityQueue.poll() if(cust == null) break System.out.println('Processing Customer with ID='+cust.getId()) } } } 

Production:

c vs c ++ vs java

Sortie - File d

Ainsi, nous sommes arrivés à la fin de cet article sur «Priority Queue in Java». Si vous souhaitez en savoir plus, consultez le par Edureka, une entreprise d'apprentissage en ligne de confiance. Le cours de formation et de certification Java J2EE et SOA d'Edureka est conçu pour vous former aux concepts Java de base et avancés ainsi qu'à divers frameworks Java tels que Hibernate et Spring.

Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires de ce blog et nous vous répondrons dans les plus brefs délais.