Paano Maipatupad ang Priority Queue Sa Java?



Ipakilala ka ng artikulong ito sa isa pang kawili-wiling paksa sa domain ng programa na ang Priority Queue Sa Java kasama ang demonstrasyon

Ang prioridad Pila sa Java ay ginagamit kung ang mga bagay ay dapat maproseso batay sa priyoridad. Tutulungan ka ng artikulong ito na tuklasin ang konsepto na ito nang detalyado. Saklaw ang artikulong ito sa artikulong ito,

Kaya't magsimula tayo noon,





Priority Queue Sa Java

Tulad ng nabanggit na, isang PriorityQueue ang ginagamit kapag ang mga bagay ay dapat na iproseso batay sa priyoridad. Alam na ang isang pila ay sumusunod sa First-In-First-Out algorithm, ngunit kung minsan ang mga elemento ng pila ay kinakailangan upang maproseso alinsunod sa priyoridad, doon maglaro ang PriorityQueue. Ang PriorityQueue ay batay sa ibunton ng priyoridad. Ang mga elemento ng priyoridad na pila ay iniutos ayon sa natural na pag-order, o ng isang Paghahambing na ibinigay sa oras ng pagtatayo ng pila, depende sa kung aling tagapagbuo ang ginagamit. Ilang mahahalagang punto sa Priority Queue ang mga sumusunod:

  • Hindi pinapayagan ng PriorityQueue ang mga NULL pointer.
  • Hindi kami makakalikha ng PriorityQueue of Objects na hindi maihahambing
  • Ang PriorityQueue ay walang limitasyong pila.
  • Ang pinuno ng pila na ito ay ang pinakamaliit na elemento patungkol sa tinukoy na pag-order. Kung maraming mga elemento ang nakatali para sa pinakamaliit na halaga, ang ulo ay isa sa mga elemento - ang mga ugnayan ay nasira nang arbitraryo.
  • Ang poll ng mga pagpapatakbo ng pagkuha ng pila, pag-alis, pagsilip, at pag-access ng elemento ng elemento sa pinuno ng pila.
  • Nagmamana ng mga pamamaraan mula sa klase ng AbstractQueue, AbstractCollection, Collection at Object.

Nagpapatuloy sa artikulong ito sa Priority Queue sa Java



Pagdeklara ng Queue Interface

pampublikong interface Ang pila ay nagpapalawak ng Koleksyon

Nagpapatuloy sa artikulong ito sa Priority Queue sa Java

Mga Paraan ng Java Queue Interface

Pamamaraan Paglalarawan

boolean add (object)



Ginagamit ito upang ipasok ang tinukoy na elemento sa pila na ito at ibalik ang totoo sa tagumpay.

alok ng boolean (object)

Ginagamit ito upang ipasok ang tinukoy na elemento sa pila na ito.

Tanggalin ang object ()

Ginagamit ito upang makuha at alisin ang ulo ng pila na ito.

kung paano mag-cast ng doble sa int sa java

Object poll ()

Ginagamit ito upang makuha at alisin ang ulo ng pila na ito, o ibalik ang null kung ang pila na ito ay walang laman.

Elemento ng object ()

Ginagamit ito upang kunin, ngunit hindi aalisin, ang pinuno ng pila na ito.

Silip ng object ()

Ginagamit ito upang kunin, ngunit hindi aalisin, ang pinuno ng pila na ito, o ibabalik ang null kung ang pila na ito ay walang laman.

Nagpapatuloy sa artikulong ito sa Priority Queue sa Java

Halimbawa

package com.journaldev.collection

import java.util.Comparator import java.util.PriorityQueue import java.util.Queue import java.util.Random na pampublikong klase PriorityQueueExample {public static void main (String [] args) {// natural na pag-order halimbawa ng priyoridad na pila Queue integerPriorityQueue = bagong PriorityQueue (7) Random rand = bagong Random () para sa (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()) } } } 

Output:

Output- Priority Queue sa Java- Edureka

Sa gayon ay natapos na kami sa artikulong ito sa 'Priority Queue in Java'. Kung nais mong matuto nang higit pa, tingnan ang ni Edureka, isang pinagkakatiwalaang kumpanya sa pag-aaral sa online. Ang kurso sa pagsasanay at sertipikasyon ng Java J2EE at SOA ng Edureka ay idinisenyo upang sanayin ka para sa parehong core at advanced na mga konsepto ng Java kasama ang iba't ibang mga balangkas ng Java tulad ng Hibernate & Spring.

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng blog na ito at babalikan ka namin sa lalong madaling panahon.