En prioritet Kø i Java brukes når objektene skal behandles basert på prioriteten. Denne artikkelen vil hjelpe deg med å utforske dette konseptet i detalj. Følgende tips vil bli dekket i denne artikkelen,
Så la oss komme i gang da,
læring informatica trinn for trinn
Prioritetskø i Java
Som allerede nevnt brukes en PriorityQueue når objektene skal behandles basert på prioriteten. Det er kjent at en kø følger First-In-First-Out-algoritmen, men noen ganger må elementene i køen behandles i henhold til prioriteten, det er da PriorityQueue kommer til spill. PriorityQueue er basert på prioritetsbunken. Elementene i prioritetskøen er bestilt i henhold til den naturlige rekkefølgen, eller av en komparator som er gitt ved køkonstruksjonstid, avhengig av hvilken konstruktør som brukes. Få viktige punkter i Priority Queue er som følger:
- PriorityQueue tillater ikke NULL-pekere.
- Vi kan ikke lage PriorityQueue of Objects som ikke kan sammenlignes
- PriorityQueue er ubundet kø.
- Hodet til denne køen er det minste elementet med hensyn til den angitte rekkefølgen. Hvis flere elementer er bundet for minst verdi, er hodet et av disse elementene - bånd brytes vilkårlig.
- Køinnhentingsoperasjonene avstemmer, fjerner, kikker og element får tilgang til elementet på hodet til køen.
- Den arver metoder fra AbstractQueue, AbstractCollection, Collection og Object-klassen.
Fortsetter med denne artikkelen om Priority Queue in Java
Køgrensesnitterklæring
offentlig grensesnittkø utvider samlingen
Fortsetter med denne artikkelen om Priority Queue in Java
Metoder for Java køgrensesnitt
Metode | Beskrivelse |
boolsk add (objekt) | Det brukes til å sette inn det angitte elementet i denne køen og returnere sant etter suksess. |
boolsk tilbud (objekt) | Den brukes til å sette inn det angitte elementet i denne køen. |
Fjern objekt () | Den brukes til å hente og fjerne hodet til denne køen. |
Objektmåling () er utdannet det samme som mestere | Den brukes til å hente og fjerne hodet til denne køen, eller returnerer null hvis denne køen er tom. |
Objektelement () | Den brukes til å hente, men fjerner ikke, hodet til denne køen. enkel hashmap implementering i java |
Objekt titt () | Den brukes til å hente, men fjerner ikke, hodet til denne køen, eller returnerer null hvis denne køen er tom. |
Fortsetter med denne artikkelen om Priority Queue in Java
Eksempel
pakke com.journaldev.collections
import java.util.Comparator import java.util.PriorityQueue import java.util.Queue import java.util.Random public class PriorityQueueExample {public static void main (String [] args) {// naturlig bestillingseksempel på prioritetskø Kø heltallPriorityQueue = ny PriorityQueue (7) Tilfeldig rand = ny 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()) } } }
Produksjon:
Dermed har vi kommet til en slutt på denne artikkelen om ‘Priority Queue in Java’. Hvis du ønsker å lære mer, sjekk ut av Edureka, et pålitelig online læringsfirma. Edurekas Java J2EE- og SOA-opplærings- og sertifiseringskurs er designet for å trene deg for både kjerne- og avanserte Java-konsepter sammen med forskjellige Java-rammer som Hibernate & Spring.
Har du et spørsmål til oss? Vennligst nevn det i kommentarfeltet på denne bloggen, så kommer vi tilbake til deg så snart som mulig.