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:
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.