PriorityBlockingQueue método comparador() en Java

El método comparador() de PriorityBlockingQueue devuelve el comparador que se puede usar para ordenar los elementos en PriorityBlockingQueue. El método devuelve un valor nulo si la cola sigue el patrón de ordenación natural de los elementos.

Sintaxis:

public Comparator<? super E> comparator()

Devoluciones: este método devuelve el conjunto comparador utilizado para ordenar los elementos del conjunto en un orden específico. Devuelve un valor nulo si PriorityBlockingQueue sigue el patrón de orden natural o predeterminado.

Los siguientes programas ilustran el método comparador() de PriorityBlockingQueue:

Ejemplo 1: Para demostrar el método comparador() en PriorityBlockingQueue que contiene una lista de enteros.

// Java Program Demonstrate comparator()
// method of PriorityBlockingQueue
  
import java.util.concurrent.PriorityBlockingQueue;
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
        throws InterruptedException
    {
  
        // create object of PriorityBlockingQueue
        PriorityBlockingQueue<Integer> PrioQueue
            = new PriorityBlockingQueue<Integer>();
  
        // Add numbers to PriorityBlockingQueue
        PrioQueue.put(45815616);
        PrioQueue.put(4981561);
        PrioQueue.put(4594591);
        PrioQueue.put(9459156);
  
        // get String representation of PriorityBlockingQueue
        String str = PrioQueue.toString();
  
        // Creating a comparator using comparator()
        Comparator comp = PrioQueue.comparator();
  
        // Displaying the comparator values
        System.out.println("Comparator value: " + comp);
  
        if (comp == null)
            System.out.println("PriorityBlockingQueue"
                               + "follows natural ordering");
        else
            System.out.println("PriorityBlockingQueue follows"
                               + comp);
    }
}
Producción:

Comparator value: null
PriorityBlockingQueuefollows natural ordering

Ejemplo 2: para demostrar el método toString() en PriorityBlockingQueue que contiene una lista de strings.

// Java Program Demonstrate comparator()
// method of PriorityBlockingQueue
  
import java.util.concurrent.PriorityBlockingQueue;
import java.util.*;
  
// Comparator to compare Strings
class COMPARING implements Comparator<String> {
    public int compare(String str1, String str2)
    {
        return str2.compareTo(str1);
    }
}
  
public class GFG {
    public static void main(String[] args)
        throws InterruptedException
    {
  
        // define capacity of PriorityBlockingQueue
        int capacityOfQueue = 5;
  
        // create object of PriorityBlockingQueue
        // by passing capacity and comparator class
        // as parameters.
        PriorityBlockingQueue<String> characters
            = new PriorityBlockingQueue<String>(capacityOfQueue,
                                                new COMPARING());
  
        // Add Strings
        characters.add("Geeks");
        characters.add("forGeeks");
        characters.add("A computer portal");
  
        // Getting the comparator using comparator()
        Comparator comp = characters.comparator();
  
        // Displaying the comparator values
        System.out.println("Comparator value is: " + comp);
  
        if (comp == null)
            System.out.println("PriorityBlockingQueue"
                               + "follows natural ordering");
        else
            System.out.println("PriorityBlockingQueue follows: "
                               + comp);
        // display result
        System.out.println("\nThe elements after custom Comparator");
        for (String e : characters)
            System.out.print(e + ", ");
    }
}
Producción:

Comparator value is: COMPARING@28d93b30
PriorityBlockingQueue follows: COMPARING@28d93b30

The elements after custom Comparator
forGeeks, Geeks, A computer portal,

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks 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 *