¿Cómo implementar la cola de prioridad en Java?



Este artículo le presentará otro tema interesante en el dominio de programación que es Priority Queue In Java junto con la demostración.

Una prioridad Cola en Java se utiliza cuando se supone que los objetos deben procesarse en función de la prioridad. Este artículo le ayudará a explorar este concepto en detalle. En este artículo se cubrirán los siguientes consejos,

Así que comencemos entonces





Cola de prioridad en Java

Como ya se mencionó, se usa PriorityQueue cuando se supone que los objetos se procesan en función de la prioridad. Se sabe que una cola sigue el algoritmo First-In-First-Out, pero a veces los elementos de la cola deben procesarse de acuerdo con la prioridad, entonces es cuando PriorityQueue entra en juego. PriorityQueue se basa en el montón de prioridad. Los elementos de la cola de prioridad se ordenan de acuerdo con el orden natural, o mediante un comparador proporcionado en el momento de la construcción de la cola, según el constructor que se utilice.

cómo escribir la clase singleton en java
  • PriorityQueue no permite punteros NULL.
  • No podemos crear PriorityQueue de objetos que no son comparables
  • PriorityQueue son colas independientes.
  • El encabezado de esta cola es el elemento menor con respecto al orden especificado. Si varios elementos están vinculados por el menor valor, la cabeza es uno de esos elementos: los vínculos se rompen arbitrariamente.
  • Las operaciones de recuperación de la cola sondean, eliminan, espían y acceden al elemento al principio de la cola.
  • Hereda métodos de AbstractQueue, AbstractCollection, Collection y Object class.

Continuando con este artículo sobre Priority Queue en Java



Declaración de interfaz de cola

La cola de interfaz pública extiende la colección

Continuando con este artículo sobre Priority Queue en Java

Métodos de la interfaz de cola de Java

Método Descripción

boolean add (objeto)



Se utiliza para insertar el elemento especificado en esta cola y devolver verdadero en caso de éxito.

oferta booleana (objeto)

Se utiliza para insertar el elemento especificado en esta cola.

Objeto eliminar ()

Se utiliza para recuperar y eliminar el encabezado de esta cola.

Encuesta de objeto ()

Se utiliza para recuperar y eliminar el encabezado de esta cola, o devuelve nulo si esta cola está vacía.

usar python en visual studio

Elemento de objeto ()

ordenar () c ++

Se utiliza para recuperar, pero no eliminar, el encabezado de esta cola.

Vistazo de objeto ()

Se utiliza para recuperar, pero no eliminar, el encabezado de esta cola, o devuelve nulo si esta cola está vacía.

Continuando con este artículo sobre Priority Queue en Java

Ejemplo

paquete 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) {// ejemplo de orden natural de la cola de prioridad Queue integerPriorityQueue = new PriorityQueue (7) Random aleatorio = new Random () para (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()) } } } 

Salida:

Salida- Cola de prioridad en Java- Edureka

Por lo tanto, hemos llegado al final de este artículo sobre 'Cola de prioridad en Java'. Si desea obtener más información, consulte el por Edureka, una empresa de aprendizaje en línea de confianza. El curso de certificación y capacitación Java J2EE y SOA de Edureka está diseñado para capacitarlo en conceptos básicos y avanzados de Java junto con varios marcos de Java como Hibernate y Spring.

Tienes una pregunta para nosotros? Menciónelo en la sección de comentarios de este blog y nos pondremos en contacto con usted lo antes posible.