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"); } }
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()); } } }
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