Come implementare la coda prioritaria in Java?



Questo articolo ti introdurrà a un altro argomento interessante nel dominio della programmazione che è Priority Queue In Java insieme alla dimostrazione

Una priorità Coda in Java viene utilizzato quando si suppone che gli oggetti vengano elaborati in base alla priorità. Questo articolo ti aiuterà a esplorare questo concetto in dettaglio. I seguenti suggerimenti saranno trattati in questo articolo,

Quindi iniziamo allora,





Coda prioritaria in Java

Come già accennato, un PriorityQueue viene utilizzato quando si suppone che gli oggetti vengano elaborati in base alla priorità. È noto che una coda segue l'algoritmo First-In-First-Out, ma a volte gli elementi della coda devono essere elaborati in base alla priorità, cioè quando entra in gioco PriorityQueue. PriorityQueue si basa sull'heap di priorità. Gli elementi della coda prioritaria sono ordinati in base all'ordinamento naturale, o da un comparatore fornito al momento della costruzione della coda, a seconda del costruttore utilizzato. Alcuni punti importanti su Priority Queue sono i seguenti:

  • PriorityQueue non consente i puntatori NULL.
  • Non possiamo creare PriorityQueue di oggetti non comparabili
  • PriorityQueue sono code non associate.
  • Il capo di questa coda è l'elemento minimo rispetto all'ordinamento specificato. Se più elementi sono legati per il valore minimo, la testa è uno di quegli elementi - i legami vengono interrotti arbitrariamente.
  • Le operazioni di recupero della coda eseguono il polling, la rimozione, l'anteprima e l'accesso all'elemento all'inizio della coda.
  • Eredita metodi da AbstractQueue, AbstractCollection, Collection e Object class.

Andando avanti con questo articolo su Priority Queue in Java



come eseguire php su Windows 10

Dichiarazione dell'interfaccia della coda

L'interfaccia pubblica Queue estende la raccolta

Andando avanti con questo articolo su Priority Queue in Java

Metodi di Java Queue Interface

Metodo Descrizione

booleano add (oggetto)



Viene utilizzato per inserire l'elemento specificato in questa coda e restituire true in caso di successo.

implementazione hashmap nell'esempio java

offerta booleana (oggetto)

Viene utilizzato per inserire l'elemento specificato in questa coda.

Object remove ()

Viene utilizzato per recuperare e rimuovere la testata di questa coda.

Oggetto sondaggio ()

Viene utilizzato per recuperare e rimuovere l'intestazione di questa coda o restituisce null se questa coda è vuota.

Elemento oggetto ()

Viene utilizzato per recuperare, ma non rimuovere, il capo di questa coda.

Oggetto peek ()

Viene utilizzato per recuperare, ma non rimuove, l'intestazione di questa coda o restituisce null se questa coda è vuota.

Andando avanti con questo articolo su Priority Queue in Java

Esempio

pacchetto com.journaldev.collections

import java.util.Comparator import java.util.PriorityQueue import java.util.Queue import java.util.Random public class PriorityQueueExample {public static void main (String [] args) {// esempio di ordinamento naturale della coda di priorità 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()) } } } 

Produzione:

qual è l'istanza in java

Uscita - Coda prioritaria in Java- Edureka

Così siamo giunti alla fine di questo articolo su 'Priority Queue in Java'. Se desideri saperne di più, dai un'occhiata al da Edureka, una società di apprendimento online affidabile. Il corso di formazione e certificazione Java J2EE e SOA di Edureka è progettato per formarti sia sui concetti di base che avanzati su Java insieme a vari framework Java come Hibernate e Spring.

Hai domande per noi? Per favore, menzionalo nella sezione commenti di questo blog e ti risponderemo il prima possibile.