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