Ako implementovať prioritný rad v Jave?



Tento článok vám predstaví ešte jednu zaujímavú tému v programovacej doméne, ktorou je Priority Queue In Java spolu s ukážkou

Priorita Fronta v Jave sa používa, keď sa majú objekty spracovávať na základe priority. Tento článok vám pomôže podrobne preskúmať tento koncept. V tomto článku sa budeme zaoberať nasledujúcimi ukazovateľmi,

Poďme teda do toho,





Prioritný front v Jave

Ako už bolo spomenuté, PriorityQueue sa používa, keď sa majú objekty spracovávať na základe priority. Je známe, že fronta sleduje algoritmus First-In-First-Out, ale niekedy je potrebné, aby sa prvky frontu spracovávali podľa priority, a to vtedy, keď do hry vstúpi prioritná fronta. Pole PriorityQueue je založené na prioritnej kope. Prvky prioritného frontu sú zoradené podľa prirodzeného poradia alebo pomocou komparátora poskytovaného v čase výstavby frontu, v závislosti od toho, ktorý konštruktér sa použije. V prioritnom fronte je niekoľko dôležitých bodov:

  • PriorityQueue nepovoľuje ukazovatele NULL.
  • Nemôžeme vytvoriť PriorityQueue objektov, ktoré sú neporovnateľné
  • PriorityQueue sú neviazané fronty.
  • Hlavička tohto poradia je najmenším prvkom vzhľadom na zadané poradie. Ak je viac prvkov viazaných na najmenšiu hodnotu, hlava je jedným z týchto prvkov - väzby sú prerušené ľubovoľne.
  • Operácie načítania frontu zisťujú, odstraňujú, prehliadajú a element pristupujú k prvku v čele frontu.
  • Dedí metódy z tried AbstractQueue, AbstractCollection, Collection a Object.

Pokračujeme týmto článkom o Priority Queue v Jave



Vyhlásenie o fronte rozhrania

verejné rozhranie Fronta rozširuje Zbierku

Pokračujeme týmto článkom o Priority Queue v Jave

postgraduálny diplom vs magister

Metódy rozhrania frontu Java

Metóda Popis

boolean add (objekt)



Používa sa na vloženie zadaného prvku do tohto poradia a po úspechu návrat späť.

boolovská ponuka (objekt)

Používa sa na vloženie zadaného prvku do tohto frontu.

t dátový typ dátumu sql

Objekt odstrániť ()

Používa sa na získanie a odstránenie hlavičky tohto frontu.

Anketa objektu ()

Používa sa na získanie a odstránenie hlavičky tohto frontu alebo na vrátenie hodnoty null, ak je tento front prázdny.

Element objektu ()

Používa sa na získanie, ale neodstráni, hlavu tohto frontu.

Nahliadnutie do objektu ()

Používa sa na získanie, ale neodstránenie hlavy tohto frontu, alebo vráti hodnotu null, ak je tento front prázdny.

program plánovania každý s každým v c

Pokračujeme týmto článkom o Priority Queue v Jave

Príklad

balík com.journaldev.collections

import java.util.Comparator import java.util.PriorityQueue import java.util.Queue import java.util.Náhodná verejná trieda PriorityQueueExample {public static void main (String [] args) {// príklad prirodzeného usporiadania prioritného frontu Queue integerPriorityQueue = new PriorityQueue (7) Random rand = new 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()) } } } 

Výkon:

Výstup - prioritný front v Jave - Edureka

Tak sme sa dostali na koniec tohto článku o „Prioritnej fronte v Jave“. Ak sa chcete dozvedieť viac, pozrite si Edureka, dôveryhodná online vzdelávacia spoločnosť. Výcvikový a certifikačný kurz Edureka Java J2EE a SOA je navrhnutý tak, aby vás vyškolil na základné aj pokročilé koncepty Java spolu s rôznymi rámcami Java, ako je Hibernate & Spring.

Máte na nás otázku? Uveďte to prosím v sekcii komentárov tohto blogu a my sa vám ozveme čo najskôr.