Wie implementiere ich Priority Queue in Java?



Dieser Artikel führt Sie in ein weiteres interessantes Thema in der Programmierdomäne ein, nämlich die Prioritätswarteschlange in Java, zusammen mit einer Demonstration

Eine Priorität Warteschlange In Java wird verwendet, wenn die Objekte basierend auf der Priorität verarbeitet werden sollen. Dieser Artikel hilft Ihnen dabei, dieses Konzept im Detail zu untersuchen. Die folgenden Hinweise werden in diesem Artikel behandelt:

Also fangen wir an,





Prioritätswarteschlange In Java

Wie bereits erwähnt, wird eine PriorityQueue verwendet, wenn die Objekte basierend auf der Priorität verarbeitet werden sollen. Es ist bekannt, dass eine Warteschlange dem First-In-First-Out-Algorithmus folgt, aber manchmal müssen die Elemente der Warteschlange entsprechend der Priorität verarbeitet werden. Dann kommt die PriorityQueue ins Spiel. Die PriorityQueue basiert auf dem Prioritätsheap. Die Elemente der Prioritätswarteschlange werden gemäß der natürlichen Reihenfolge oder von einem Komparator sortiert, der zur Zeit der Warteschlangenkonstruktion bereitgestellt wird, je nachdem, welcher Konstruktor verwendet wird. Einige wichtige Punkte in der Prioritätswarteschlange sind wie folgt:

  • PriorityQueue erlaubt keine NULL-Zeiger.
  • Wir können keine PriorityQueue von Objekten erstellen, die nicht vergleichbar sind
  • PriorityQueue sind ungebundene Warteschlangen.
  • Der Kopf dieser Warteschlange ist das kleinste Element in Bezug auf die angegebene Reihenfolge. Wenn mehrere Elemente für den geringsten Wert gebunden sind, ist der Kopf eines dieser Elemente - Bindungen werden willkürlich unterbrochen.
  • Die Operationen zum Abrufen der Warteschlange rufen das Element am Kopf der Warteschlange ab, entfernen es, spähen und greifen auf das Element zu.
  • Es erbt Methoden von AbstractQueue, AbstractCollection, Collection und Object.

Fahren Sie mit diesem Artikel über die Prioritätswarteschlange in Java fort



Warteschlangenschnittstellendeklaration

Öffentliche Schnittstelle Warteschlange erweitert Sammlung

So ermitteln Sie die Länge eines Arrays in Javascript

Fahren Sie mit diesem Artikel über die Prioritätswarteschlange in Java fort

Methoden der Java Queue Interface

Methode Beschreibung

boolean add (Objekt)



Es wird verwendet, um das angegebene Element in diese Warteschlange einzufügen und bei Erfolg true zurückzugeben.

Boolesches Angebot (Objekt)

Wie schreibe ich eine String-Methode in Java?

Es wird verwendet, um das angegebene Element in diese Warteschlange einzufügen.

Objekt entfernen ()

Es wird verwendet, um den Kopf dieser Warteschlange abzurufen und zu entfernen.

Objektumfrage ()

Es wird verwendet, um den Kopf dieser Warteschlange abzurufen und zu entfernen, oder gibt null zurück, wenn diese Warteschlange leer ist.

Objektelement ()

Es wird verwendet, um den Kopf dieser Warteschlange abzurufen, aber nicht zu entfernen.

Objektblick ()

Es wird verwendet, um den Kopf dieser Warteschlange abzurufen, aber nicht zu entfernen, oder gibt null zurück, wenn diese Warteschlange leer ist.

Fahren Sie mit diesem Artikel über die Prioritätswarteschlange in Java fort

Beispiel

Paket com.journaldev.collections

wie man Atom Python laufen lässt
import java.util.Comparator import java.util.PriorityQueue import java.util.Queue import java.util.Random öffentliche Klasse PriorityQueueExample {public static void main (String [] args) {// Beispiel für die natürliche Reihenfolge der Prioritätswarteschlange Queue integerPriorityQueue = new PriorityQueue (7) Random rand = new Random () für (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()) } } } 

Ausgabe:

Ausgabeprioritätswarteschlange in Java-Edureka

Damit sind wir am Ende dieses Artikels über 'Priority Queue in Java' angelangt. Wenn Sie mehr erfahren möchten, lesen Sie die von Edureka, einem vertrauenswürdigen Online-Lernunternehmen. Der Java J2EE- und SOA-Schulungs- und Zertifizierungskurs von Edureka wurde entwickelt, um Sie für Kern- und fortgeschrittene Java-Konzepte sowie für verschiedene Java-Frameworks wie Hibernate & Spring zu schulen.

Hast du eine Frage an uns? Bitte erwähne es im Kommentarbereich dieses Blogs und wir werden uns so schnell wie möglich bei dir melden.