Kaip įdiegti „Java“ prioritetinę eilę?



Šis straipsnis supažindins jus su dar viena įdomia programavimo srities tema, kuri yra „Java“ prioritetinė eilė kartu su demonstracija

Prioritetas Eilė „Java“ yra naudojamas, kai objektai turėtų būti tvarkomi pagal prioritetą. Šis straipsnis padės išsamiai išnagrinėti šią koncepciją. Tolimesni patarimai bus aptarti šiame straipsnyje,

Taigi pradėkime tada,





„Java“ prioritetinė eilė

Kaip jau minėta, „PriorityQueue“ naudojama, kai objektai turėtų būti apdorojami remiantis prioritetu. Yra žinoma, kad eilė seka „First-In-First-Out“ algoritmu, tačiau kartais eilės elementus reikia apdoroti pagal prioritetą, būtent tada atsiranda „PriorityQueue“. „PriorityQueue“ remiasi prioritetiniu kaupu. Prioritetinės eilės elementai yra užsakomi pagal natūralų užsakymą arba lygintuvas, pateiktas eilės sudarymo metu, atsižvelgiant į naudojamą konstruktorių. Keli svarbūs prioritetinės eilės punktai yra šie:

  • „PriorityQueue“ neleidžia rodyti NULL.
  • Negalime sukurti „PriorityQueue“ objektų, kurių negalima palyginti
  • „PriorityQueue“ yra nesusietos eilės.
  • Šios eilės galva yra mažiausias elementas, atsižvelgiant į nurodytą užsakymą. Jei keli elementai yra susieti dėl mažiausios vertės, galva yra vienas iš tų elementų - ryšiai nutrūksta savavališkai.
  • Eilės paieškos operacijos apklausia, pašalina, žiūri ir prieina prie elemento, esančio eilės galvoje.
  • Jis paveldi metodus iš „AbstractQueue“, „AbstractCollection“, „Collection“ ir „Object“ klasės.

Toliau einant su šiuo straipsniu apie „Java“ prioritetinę eilę



Eilės sąsajos deklaracija

viešosios sąsajos eilė pratęsia kolekciją

Toliau einant su šiuo straipsniu apie „Java“ prioritetinę eilę

kas yra nekintamas objektas java

„Java Queue“ sąsajos metodai

Metodas apibūdinimas

loginis pridėjimas (objektas)



Jis naudojamas nurodytam elementui įterpti į šią eilę ir grįžti teisingai, kai pasiseks.

loginis pasiūlymas (objektas)

Jis naudojamas nurodytam elementui įterpti į šią eilę.

generuoti atsitiktinę eilutę java

Objekto pašalinimas ()

Jis naudojamas norint gauti ir pašalinti šios eilės galvą.

Objektų apklausa ()

Jis naudojamas nuskaityti ir pašalinti šios eilės galvutę arba grąžina nulį, jei ši eilė tuščia.

Objekto elementas ()

Jis naudojamas norint gauti, bet nepašalinantį šios eilės galvos.

Objekto žvilgsnis ()

Jis naudojamas nuskaityti, bet nepašalina šios eilės galvutės, arba grąžina nulį, jei ši eilė tuščia.

java komanda baigti programą

Toliau einant su šiuo straipsniu apie „Java“ prioritetinę eilę

Pavyzdys

paketas com.journaldev.collections

importuoti java.util.Comparator importuoti java.util.PriorityQueue importuoti java.util.Queue importuoti java.util.Random viešąją klasę PriorityQueueExample {public static void main (String [] argumentai) {// prioritetinės eilės eilinio eilinio eilinio skaičiaus eilinio skaičiaus prioriteto eilinio skaičiaus eilinis skaičius new PriorityQueue (7) Atsitiktinis randas = naujas Atsitiktinis (), skirtas (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()) } } } 

Išvestis:

Rezultatas - prioritetinė eilė „Java“ - „Edureka“

Taigi mes pasiekėme šio straipsnio apie „prioritetinę eilę„ Java ““ pabaigą. Jei norite sužinoti daugiau, patikrinkite autorius - patikima internetinė mokymosi įmonė „Edureka“. „Edureka“ „Java J2EE“ ir SOA mokymo ir sertifikavimo kursai skirti mokyti jus tiek pagrindinėms, tiek pažangesnėms „Java“ koncepcijoms kartu su įvairiomis „Java“ sistemomis, tokiomis kaip „Hibernate & Spring“.

Turite mums klausimą? Prašau tai paminėti šio tinklaraščio komentarų skiltyje, ir mes kuo greičiau susisieksime su jumis.