Priority Queue Java o PriorityQueue Class es una de esas clases que implementan la interfaz Queue. Extiende la clase AbstractQueue, que a su vez implementa Queue para obtener beneficios.
Aquí hay un diagrama jerárquico que explica las cosas de una manera mucho mejor:
- ¿Qué hay de malo en mi implementación de tipo de fusión?
- ¿Cuáles son los libros de Ciencias de la Computación (Algoritmo) que recomendará un topcoder?
- ¿De qué se tratan las estructuras de datos como curso de informática? . ¿Y depende de algún idioma?
- ¿ISRO emplea el aprendizaje automático en alguno de sus sistemas de trabajo actuales?
- ¿Cómo se almacena una matriz bidimensional en la memoria?
PriorityQueue Class tiene la facilidad de usar Queue en Java. Sin embargo, sorprendentemente no ordena alrededor de elementos de manera FIFO. Ordena elementos según el orden natural del elemento o según el comparador suministrado.
Constructores y métodos de PriorityQueue
Estos son los constructores de PriorityQueue que puede usar:
- PriorityQueue ()
- PriorityQueue (Colección c)
- PriorityQueue (int capacidad)
- PriorityQueue (int capacidad, comparador comparador)
- PriorityQueue (PriorityQueue p)
- PriorityQueue (SortedSet s)
Los métodos de la clase PriorityQueue que puede usar son:
- agregar (Objeto e)
- claro()
- comparador ()
- contiene (Objeto o)
- iterador ()
- oferta (Objeto e)
- ojeada()
- encuesta()
- eliminar (Objeto o)
- Talla()
- toArray ()
- toArray (T [] a)
Ejemplo de Java de Priority Queue
Aquí un ejemplo sería útil:
PriorityQueue q = new PriorityQueue (5);
q.add (23);
q.add (1);
q.add (3);
q.add (7);
q. oferta (6); // hace lo mismo que agregar
System.out.println (q);
Observe aquí que el método offer () de Queue Interface hace lo mismo que add (). Si ejecuta el programa anterior, obtendrá:
[1, 6, 3, 23, 7]
Como puede ver, los elementos están ordenados según su ordenamiento natural. No sigue ninguna FIFO aquí.
Veamos qué otros métodos podemos poner allí para ver qué hacen. Agregue el siguiente código al código anterior:
System.out.println (“Jefe de la cola:” + q.poll ());
System.out.println (q);
q.clear ();
System.out.println (q);
La encuesta, como habíamos aprendido anteriormente, ayuda a extraer el encabezado de la cola al eliminarlo. El método clear () simplemente eliminará todo de la lista. Aquí está el resultado que obtendrá ahora:
[1, 6, 3, 23, 7]
Jefe de la cola: 1
[3, 6, 7, 23]
[]
Como ya habrás notado, el pedido es algo natural para ti. Puede ser engorroso para ti. Puede optar por utilizar un método llamado comparador () para proporcionar su propio pedido. Si no se proporciona un comparador y el orden es innato, le dará un resultado nulo. Como si aumenta lo siguiente en el código anterior:
Comparador c = q.comparator ();
System.out.println (c);
Si lo ejecutas ahora obtendrás:
nulo
Lea el artículo completo aquí: Cola en Java | Priority Queue Java | Java Queue FIFO – Parte 2