En PC Resumen vamos a hablar de una clase y una interfaz bastante curiosas, estas son: PriorityQueue y la interfaz Queue.

Queue es una interfaz que extiende a Collection y proporciona operaciones para trabajar con una cola. PriorityQueue es una de las clases que implementa esta interfaz y ordena los elementos en base a su orden natural, según lo especificado por el método comparó los elementos Comparable, o mediante un objeto Comparator que se suministra a través del constructor. Esta clase proporciona una funcionalidad que permite inserciones en orden y eliminaciones de la parte frontal (desencolar normalmente). Al insertar se hace según una prioridad, de tal forma que el elemento de mayor prioridad se sitúa el primero. Las operaciones más habituales son offer para insertar en la posición adecuada según la prioridad, poll por desencolar, peek para obtener el primero de la cola, clear para eliminar todos los elementos de la cola y size para obtener el número de elementos de la cola .

En el programa siguiente vemos un ejemplo del funcionamiento de esta clase. Cuando el constructor ni le indicamos nada, la capacidad inicial es 11.

import java.util.PriorityQueue;

public class PruebaPriorityQueue {

    public static void main(String args[]) { // cola con capacitad de 11
        PriorityQueue<Double> cola = new PriorityQueue<Double>();
        cola.offer(3.2);
        cola.offer(9.8);
        cola.offer(5.4);
        System.out.print("Mostrando la cola: ");
        while(cola.size() > 0) {
            System.out.printf("%.1f ", cola.peek());
            cola.poll();
        }
    }
}
Pin It