Kako implementirati prioritetni red u Javi?



Ovaj će vas članak predstaviti s još jednom zanimljivom temom u programskoj domeni, koja je Prioritetni red u Javi, zajedno s demonstracijom

Prioritet Red u Javi koristi se kada bi objekti trebali biti obrađeni na temelju prioriteta. Ovaj će vam članak pomoći da detaljno istražite ovaj koncept. U ovom će članku biti obrađeni sljedeći smjerovi,

Pa krenimo onda,





Redoslijed prioriteta u Javi

Kao što je već spomenuto, PriorityQueue se koristi kada bi objekti trebali biti obrađeni na temelju prioriteta. Poznato je da red čekanja slijedi algoritam Prvo-prvo-izašlo, ali ponekad su elementi reda potrebni da bi se obradili prema prioritetu, tada Prioritetni red dolazi u igru. PriorityQueue temelji se na hrpi prioriteta. Elementi prioritetnog reda poredani su prema prirodnom redoslijedu ili pomoću usporedbe koja se pruža u vrijeme izrade reda, ovisno o tome koji se konstruktor koristi. Nekoliko važnih točaka u Prioritetnom redu su kako slijedi:

  • PriorityQueue ne dopušta NULL pokazivače.
  • Ne možemo stvoriti prioritetni red objekata koji nisu usporedivi
  • PriorityQueue su nevezani redovi.
  • Glava ovog reda je najmanji element s obzirom na navedeno naručivanje. Ako je više elemenata vezano za najmanju vrijednost, glava je jedan od tih elemenata - veze se prekidaju proizvoljno.
  • Operacije dohvaćanja reda anketiraju, uklanjaju, zaviruju i pristupaju elementu na čelu reda.
  • Nasljeđuje metode iz klase AbstractQueue, AbstractCollection, Collection i Object.

Nastavljamo s ovim člankom o Prioritetnom redu u Javi



Deklaracija sučelja u redu čekanja

red javnog sučelja proširuje Zbirku

Nastavljamo s ovim člankom o Prioritetnom redu u Javi

Metode sučelja Java Queue

Metoda Opis

logički dodatak (objekt)



Koristi se za umetanje navedenog elementa u ovaj red i vraćanje vrijednosti true nakon uspjeha.

logička ponuda (objekt)

Koristi se za umetanje navedenog elementa u ovaj red.

Ukloni objekt ()

php kako ispisati niz

Koristi se za dohvaćanje i uklanjanje glave ovog reda.

Anketa objekta ()

Koristi se za dohvaćanje i uklanjanje glave ovog reda ili vraća nulu ako je taj red prazan.

Element objekta ()

Koristi se za dohvaćanje glave ovog reda, ali je ne uklanja.

Pogled objekta ()

Koristi se za dohvaćanje, ali ne uklanjanje glave ovog reda ili vraća nulu ako je taj red prazan.

Nastavljamo s ovim člankom o Prioritetnom redu u Javi

što je rmi u javi

Primjer

paket com.journaldev.collections

import java.util.Comparator import java.util.PriorityQueue import java.util.Queue import java.util.Random javna klasa PriorityQueueExample {public static void main (String [] args) {// prirodni primjer narudžbe Red čekanja prioriteta integerPriorityQueue = novi PriorityQueue (7) Random rand = novi Random () za (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()) } } } 

Izlaz:

Izlaz - Prioritetni red u Javi - Edureka

Tako smo došli do kraja ovog članka o 'Prioritetnom redu u Javi'. Ako želite saznati više, pogledajte Edureka, pouzdane tvrtke za internetsko učenje. Edurekin tečaj za obuku i certificiranje Java J2EE i SOA osmišljen je kako bi vas osposobio za osnovne i napredne Java koncepte zajedno s raznim Java okvirima poput Hibernate & Spring.

Imate pitanje za nas? Molimo vas da ga spominjete u odjeljku za komentare ovog bloga i javit ćemo vam se što je prije moguće.