Jak implementovat prioritní frontu v Javě?



Tento článek vám představí ještě další zajímavé téma v programovací doméně, kterým je Prioritní fronta v Javě spolu s demonstrací

Priorita Fronta v Javě se používá, pokud mají být objekty zpracovávány na základě priority. Tento článek vám pomůže podrobně prozkoumat tento koncept. V tomto článku se budeme zabývat následujícími ukazateli,

Pojďme tedy začít,





Prioritní fronta v Javě

Jak již bylo zmíněno, PriorityQueue se používá, pokud mají být objekty zpracovávány na základě priority. Je známo, že fronta se řídí algoritmem First-In-First-Out, ale někdy je nutné, aby byly prvky fronty zpracovány podle priority, tedy tehdy, když do hry vstoupí prioritní fronta. PriorityQueue je založen na prioritní haldě. Prvky prioritní fronty jsou seřazeny podle přirozeného řazení nebo podle komparátoru poskytovaného v době výstavby fronty, v závislosti na použitém konstruktoru. Několik důležitých bodů v prioritní frontě je následující:

  • PriorityQueue neumožňuje ukazatele NULL.
  • Nemůžeme vytvořit PriorityQueue objektů, které jsou nesrovnatelné
  • PriorityQueue jsou nevázané fronty.
  • Záhlaví této fronty je nejmenší prvek s ohledem na zadané řazení. Pokud je více prvků svázáno za nejnižší hodnotu, je hlava jedním z těchto prvků - vazby jsou přerušeny libovolně.
  • Operace načítání fronty hlasují, odebírají, prohlížejí a element přistupují k prvku v záhlaví fronty.
  • Dědí metody z třídy AbstractQueue, AbstractCollection, Collection a Object.

Pokračujeme tímto článkem o prioritní frontě v Javě



Deklarace rozhraní fronty

veřejné rozhraní Fronta rozšiřuje kolekci

Pokračujeme tímto článkem o prioritní frontě v Javě

hluboké učení vs strojové učení vs rozpoznávání vzorů

Metody rozhraní fronty Java

Metoda Popis

boolean add (objekt)



Používá se k vložení zadaného prvku do této fronty a návratu true po úspěchu.

booleovská nabídka (objekt)

Slouží k vložení zadaného prvku do této fronty.

postgraduální diplom vs mistři

Objekt remove ()

Používá se k načtení a odebrání záhlaví této fronty.

Anketa objektu ()

Používá se k načtení a odebrání záhlaví této fronty nebo vrací null, pokud je tato fronta prázdná.

Prvek objektu ()

Používá se k načtení, ale neodstraní, hlavu této fronty.

Prohlížení objektu ()

Používá se k načtení, ale neodstraní hlavičku této fronty, nebo vrátí null, pokud je tato fronta prázdná.

jak analyzovat xml v java

Pokračujeme tímto článkem o prioritní frontě v Javě

Příklad

balíček com.journaldev.collections

import java.util.Comparator import java.util.PriorityQueue import java.util.Queue import java.util.Random veřejná třída PriorityQueueExample {public static void main (String [] args) {// příklad přirozeného řazení prioritní fronty 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ýstup:

Výstup - prioritní fronta v Javě - Edureka

Tak jsme dospěli ke konci tohoto článku o „Prioritní frontě v Javě“. Pokud se chcete dozvědět více, podívejte se na Edureka, důvěryhodná online vzdělávací společnost. Školicí a certifikační kurz Edureka Java J2EE a SOA je navržen tak, aby vás vyškolil jak pro základní, tak pro pokročilé koncepty Java spolu s různými rámci Java jako Hibernate & Spring.

Máte na nás dotaz? Uveďte to prosím v sekci komentářů tohoto blogu a my se vám ozveme co nejdříve.