Hur implementerar jag prioritetskö i Java?



Denna artikel kommer att presentera dig för ännu ett intressant ämne inom programmeringsdomänen som är Priority Queue in Java tillsammans med demonstration

En prioritet Kö i Java används när objekten ska behandlas baserat på prioriteten. Denna artikel hjälper dig att utforska detta koncept i detalj. Följande tips kommer att behandlas i den här artikeln,

Så låt oss komma igång då,





Prioritetskö i Java

Som redan nämnts används en PriorityQueue när objekten ska behandlas baserat på prioriteten. Det är känt att en kö följer First-In-First-Out-algoritmen, men ibland behövs köernas element för att behandlas enligt prioriteten, det är då PriorityQueue kommer till spel. PriorityQueue är baserad på prioritetshögen. Elementen i prioritetskön ordnas enligt den naturliga ordningen, eller av en komparator som tillhandahålls vid kökonstruktionstid, beroende på vilken konstruktör som används. Få viktiga punkter i prioritetskön är följande:

  • PriorityQueue tillåter inte NULL-pekare.
  • Vi kan inte skapa PriorityQueue av objekt som inte kan jämföras
  • PriorityQueue är obundna köer.
  • Huvudet för denna kö är det minsta elementet med avseende på den angivna ordningen. Om flera element är bundna för minst värde är huvudet ett av dessa element - band bryts godtyckligt.
  • Köhämtningsoperationerna avfrågar, tar bort, kikar och element får åtkomst till elementet i köens huvud.
  • Det ärver metoder från AbstractQueue, AbstractCollection, Collection och Object-klassen.

Fortsätter med den här artikeln om Priority Queue in Java



Kögränssnittsdeklaration

offentlig gränssnittskö utökar samlingen

tablå hur man blandar data

Fortsätter med den här artikeln om Priority Queue in Java

Metoder för Java-kögränssnitt

Metod Beskrivning

boolean add (objekt)



Den används för att infoga det angivna elementet i den här kön och returnera true efter framgång.

booleskt erbjudande (objekt)

Den används för att infoga det angivna elementet i den här kön.

Objekt ta bort ()

Den används för att hämta och ta bort huvudet på den här kön.

Objektundersökning ()

javascript-kontrollens längd

Den används för att hämta och ta bort huvudet på den här kön, eller returnerar null om den här kön är tom.

Objektelement ()

Den används för att hämta, men tar inte bort, huvudet på den här kön.

Objektkik ()

Den används för att hämta, men tar inte bort, huvudet på den här kön eller returnerar null om den här kön är tom.

Fortsätter med den här artikeln om Priority Queue in Java

Exempel

paket com.journaldev.collections

importera java.util.Comparator importera java.util.PriorityQueue importera java.util.Queue importera java.util.Random public class PriorityQueueExample {public static void main (String [] args) {// naturlig beställningsexempel på prioritetskö Kö heltalPriorityQueue = ny PriorityQueue (7) Slumpmässig rand = ny 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()) } } } 

Produktion:

Output- Prioritetskö i Java- Edureka

Således har vi kommit till slutet av den här artikeln om 'Priority Queue in Java'. Om du vill veta mer, kolla in av Edureka, ett pålitligt inlärningsföretag online. Edurekas Java J2EE- och SOA-utbildning och certifieringskurs är utformad för att träna dig för både grundläggande och avancerade Java-koncept tillsammans med olika Java-ramverk som Hibernate & Spring.

Har du en fråga till oss? Vänligen nämna det i kommentarsektionen på den här bloggen så kommer vi tillbaka till dig så snart som möjligt.