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:
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.