Hvordan implementere prioritetskø i Java?



Denne artikkelen vil introdusere deg for enda et interessant tema i programmeringsdomenet som er Priority Queue In Java sammen med demonstrasjon

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:

Utgang- Prioritetskø i Java- Edureka

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.