El método take() de PriorityBlockingQueue devuelve el encabezado de la cola después de eliminarlo. Si la cola está vacía, este método esperará hasta que un elemento esté disponible.
Sintaxis:
public E take() throws InterruptedException
Devoluciones: este método devuelve el valor al principio de esta PriorityBlockingQueue.
Excepción: este método arroja una InterruptedException si se interrumpe mientras se espera que un elemento esté disponible.
Los siguientes programas ilustran el método take() de PriorityBlockingQueue:
Ejemplo 1: Para demostrar el método take() en PriorityBlockingQueue que contiene una lista de números.
// Java Program Demonstrate take() // 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(7855642); PrioQueue.put(35658786); PrioQueue.put(5278367); PrioQueue.put(74381793); // before removing print queue System.out.println("Queue: " + PrioQueue); // Apply take() method int head = PrioQueue.take(); // Print head of queue using take() method System.out.println("Head of PriorityBlockingQueue" + " using take(): " + head); System.out.print("After removing head, Queue: " + PrioQueue); } }
Queue: [5278367, 35658786, 7855642, 74381793] Head of PriorityBlockingQueue using take(): 5278367 After removing head, Queue: [7855642, 35658786, 74381793]
Ejemplo 2: Para demostrar el método take() en PriorityBlockingQueue que contiene String
// Java Program Demonstrate take() // 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 // which contains Strings PriorityBlockingQueue<String> names = new PriorityBlockingQueue<String>(); // Add string names.add("Geeks"); names.add("forGeeks"); names.add("A computer portal"); // print list of names System.out.println(names); // Apply take() method String head = names.take(); // Print head of queue using take() method System.out.println("Head of Queue: " + head); System.out.print("After removing head, Queue: " + names); } }
[A computer portal, forGeeks, Geeks] Head of Queue: A computer portal After removing head, Queue: [Geeks, forGeeks]
Referencia: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/PriorityBlockingQueue.html#take–
Publicación traducida automáticamente
Artículo escrito por AmanSingh2210 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA