PriorityQueue comparador() Método en Java

El método java.util.PriorityQueue.comparator() comparte una función importante de establecer y devolver el comparador que se puede usar para ordenar los elementos en PriorityQueue . El método devuelve un valor nulo si la cola sigue el patrón de ordenación natural de los elementos.
Sintaxis: 

comp_set = (PriorityQueue)Priority_Queue.comparator()

Parámetros: El método no toma ningún parámetro.
Valor devuelto: El método devuelve el comparador utilizado para ordenar los elementos de la cola en un orden específico. Devuelve un valor Nulo si la cola sigue el patrón de orden natural o predeterminado.
Los siguientes programas ilustran el método java.util.PriorityQueue.comparator(): 
Programa 1: cuando se usa el orden natural de los elementos: 
 

Java

// Java code to illustrate comparator()
import java.util.*;
 
public class Priority_Queue_Demo {
    public static void main(String[] args)
    {
 
        // Creating an empty Priority_Queue
        PriorityQueue<Integer> queue = new PriorityQueue<Integer>();
 
        // Adding elements to the queue
        queue.add(20);
        queue.add(24);
        queue.add(30);
        queue.add(35);
        queue.add(45);
        queue.add(50);
 
        System.out.println("Priority queue values are: " + queue);
 
        // Creating a comparator
        Comparator comp = queue.comparator();
 
        // Displaying the comparator values
        System.out.println("Since the Comparator value is: " + comp);
        System.out.println("it follows natural ordering");
    }
}
Producción: 

Priority queue values are: [20, 24, 30, 35, 45, 50]
Since the Comparator value is: null
it follows natural ordering

 

Programa 2: Al usar un comparador específico . 
 

Java

// Java code to illustrate the use of comparator()
import java.util.Comparator;
import java.util.PriorityQueue;
 
class The_Comparator implements Comparator<String> {
    public int compare(String str1, String str2)
    {
        String first_Str;
        String second_Str;
        first_Str = str1;
        second_Str = str2;
        return second_Str.compareTo(first_Str);
    }
}
 
public class Priority_Queue_Demo {
    public static void main(String[] args)
    {
        PriorityQueue<String> queue = new
        PriorityQueue<String>(new The_Comparator());
 
        queue.add("G");
        queue.add("E");
        queue.add("E");
        queue.add("K");
        queue.add("S");
        queue.add("4");
         
 
        System.out.println("The elements with the highest priority element at front of queue"
                           + "order:");
        while(!queue.isEmpty()){
          System.out.print(" "+queue.poll());
        }
    }
}
Producción

The elements with the highest priority element at front of queueorder:
 S K G E E 4

Publicación traducida automáticamente

Artículo escrito por Chinmoy Lenka y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *