Com implementar la cua de prioritat a Java?



Aquest article us presentarà un altre tema interessant en el domini de la programació que és Priority Queue In Java juntament amb la demostració

Una prioritat Cua a Java s'utilitza quan se suposa que els objectes es processen en funció de la prioritat. Aquest article us ajudarà a explorar aquest concepte en detall. Les següents indicacions es tractaran en aquest article,

Comencem doncs,





Cua de prioritat a Java

Com ja s'ha esmentat, s'utilitza una PriorityQueue quan se suposa que els objectes es processen en funció de la prioritat. Se sap que una cua segueix l’algorisme First-In-First-Out, però de vegades els elements de la cua són necessaris per processar-se segons la prioritat, és llavors quan entra en joc la PriorityQueue. La PriorityQueue es basa en l’emmagatzematge de prioritats. Els elements de la cua de prioritat s’ordenen segons l’ordenació natural o bé mitjançant un comparador proporcionat en el moment de la construcció de la cua, en funció del constructor que s’utilitzi. Pocs punts importants a la cua de prioritat són els següents:

  • PriorityQueue no permet els indicadors NULL.
  • No podem crear PriorityQueue d’objectes que no siguin comparables
  • PriorityQueue són cues sense lligar.
  • El cap d'aquesta cua és l'element mínim respecte a l'ordenació especificada. Si hi ha diversos elements lligats per obtenir el menor valor, el cap és un d’aquests elements: els llaços es trenquen arbitràriament.
  • Les operacions de recuperació de la cua interrogen, eliminen, observen i accedeixen a l'element de l'element situat al capdavant de la cua.
  • Hereta mètodes de la classe AbstractQueue, AbstractCollection, Collection i Object.

Continuem amb aquest article sobre Priority Queue a Java



Declaració de la interfície de cua

interfície pública La cua amplia la col·lecció

Continuem amb aquest article sobre Priority Queue a Java

Mètodes de la interfície de cua de Java

Mètode Descripció

add booleà (objecte)



S’utilitza per inserir l’element especificat en aquesta cua i retornar el valor vertader en cas d’èxit.

obtenir la mida de la matriu javascript

oferta booleana (objecte)

S'utilitza per inserir l'element especificat en aquesta cua.

Eliminació d'objectes ()

S'utilitza per recuperar i eliminar el cap d'aquesta cua.

Enquesta d'objectes ()

S'utilitza per recuperar i eliminar el cap d'aquesta cua, o torna nul si aquesta cua està buida.

Element objecte ()

S'utilitza per recuperar, però no elimina, el cap d'aquesta cua.

hashmap vs hashtable a Java

Peek object ()

S'utilitza per recuperar, però no elimina, el cap d'aquesta cua, o torna nul si aquesta cua està buida.

Continuem amb aquest article sobre Priority Queue a Java

Exemple

paquet 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) {// exemple d’ordenació natural de la cua de prioritat Queue integerPriorityQueue = nova PriorityQueue (7) Random Rand = new Random () per a (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()) } } } 

Sortida:

Sortida- Cua de prioritat a Java- Edureka

Així hem arribat al final d'aquest article sobre 'Cua de prioritat a Java'. Si voleu obtenir més informació, consulteu el per Edureka, una empresa d’aprenentatge en línia de confiança. El curs de formació i certificació de Java J2EE i SOA d’Edureka està dissenyat per formar-vos tant per a conceptes Java bàsics com avançats, juntament amb diversos marcs Java com Hibernate & Spring.

Tens alguna pregunta? Si us plau, mencioneu-ho a la secció de comentaris d’aquest bloc i us respondrem el més aviat possible.