1. método de oferta (E e)
El método offer(E e) de PriorityBlockingQueue inserta el elemento e , pasado como parámetro, en esta PriorityBlockingQueue. Este método inserta el elemento en esta PriorityBlockingQueue. Dado que PriorityBlockingQueue no tiene límites, este método nunca se bloqueará. Sintaxis:
public boolean offer(E e)
Parámetro: Este método acepta un parámetro e que representa el elemento e que queremos insertar en esta PriorityBlockingQueue. Devoluciones: este método devuelve una respuesta booleana verdadera si la inserción se realiza correctamente. Excepción: este método arroja las siguientes excepciones.
- ClassCastException : si el elemento especificado no se puede comparar con los elementos que se encuentran actualmente en la cola de prioridad según el orden de PriorityBlockingQueue.
- NullPointerException : si el elemento es nulo
Los siguientes programas ilustran el método de oferta() de PriorityBlockingQueue: Ejemplo 1: programa para demostrar el método de oferta() en PriorityBlockingQueue para agregar una lista de números.
Java
// Java Program Demonstrate offer() // method of PriorityBlockingQueue import java.util.concurrent.PriorityBlockingQueue; public class GFG { public static void main(String[] args) { // define capacity of PriorityBlockingQueue int capacityOfQueue = 5; // create object of PriorityBlockingQueue PriorityBlockingQueue<Integer> PrioQueue = new PriorityBlockingQueue<Integer>(capacityOfQueue); // Add numbers to PriorityBlockingQueue using offer() PrioQueue.offer(35658786); PrioQueue.offer(5278367); PrioQueue.offer(74381793); PrioQueue.offer(87625142); // print elements of PriorityBlockingQueue System.out.println("Queue Contains:"); System.out.println(PrioQueue.toString()); } }
Queue Contains: [5278367, 35658786, 74381793, 87625142]
Ejemplo 2: programa para demostrar la excepción lanzada por el método de oferta() cuando intentamos agregar un valor nulo a PriorityBlockingQueue.
Java
// Java Program Demonstrate offer() // method of PriorityBlockingQueue import java.util.concurrent.PriorityBlockingQueue; import java.util.*; public class GFG { public static void main(String[] args) { // define capacity of PriorityBlockingQueue int capacityOfQueue = 5; // create object of PriorityBlockingQueue which contains // name of students PriorityBlockingQueue<String> names = new PriorityBlockingQueue<String>(capacityOfQueue); // Add names of students of girls college names.offer("Joyita"); names.offer("Priyanka"); // try to insert null value in offer method try { names.offer(null); } catch (Exception e) { // print error details System.out.println("Exception Thrown: " + e); } } }
Exception Thrown: java.lang.NullPointerException
2. Método de oferta (E e, tiempo de espera prolongado, unidad de unidad de tiempo)
El método offer(E e, long timeout, TimeUnit unit) de PriorityBlockingQueue inserta el elemento e , pasado como parámetro, en esta PriorityBlockingQueue. Este método inserta el elemento en esta PriorityBlockingQueue. Dado que PriorityBlockingQueue no tiene límites, este método nunca se bloqueará y los parámetros timeout y timeUnit se ignorarán. Este método se hereda de la superclase de priorityBlockingQueue, que es la clase BlockingQueue. es lógicamente igual que el método de oferta (E e). Sintaxis:
offer(E e, long timeout, TimeUnit unit)
Parámetro: este método acepta tres parámetros
- e : el elemento que se insertará en PriorityBlockingQueue.
- timeout : este parámetro se ignora porque la cola nunca bloquea la inserción de nuevos elementos.
- unidad : este parámetro también se ignora porque la cola nunca bloquea la inserción de nuevos elementos.
Devoluciones: este método devuelve una respuesta booleana verdadera si la inserción se realiza correctamente. Excepción: este método arroja las siguientes excepciones.
- ClassCastException : si el elemento especificado no se puede comparar con los elementos que se encuentran actualmente en la cola de prioridad según el orden de PriorityBlockingQueue.
- NullPointerException : si el elemento es nulo
Los siguientes programas ilustran el método de oferta (E e, tiempo de espera prolongado, unidad de unidad de tiempo) de PriorityBlockingQueue: Ejemplo 1: programa para demostrar el método de oferta (E e, tiempo de espera prolongado, unidad de unidad de tiempo) en PriorityBlockingQueue para agregar una lista de números.
Java
// Java Program Demonstrate offer() // method of PriorityBlockingQueue import java.util.concurrent.PriorityBlockingQueue; import java.util.concurrent.TimeUnit; public class GFG { public static void main(String[] args) { // define capacity of PriorityBlockingQueue int capacityOfQueue = 5; // create object of PriorityBlockingQueue PriorityBlockingQueue<Integer> PrioQueue = new PriorityBlockingQueue<Integer>(capacityOfQueue); // Add 3 elements to PriorityBlockingQueue using // offer(Element e, long timeout, TimeUnit unit) System.out.println("adding 1234 " + PrioQueue.offer(1234, 5, TimeUnit.SECONDS)); System.out.println("adding 2345 " + PrioQueue.offer(2345, 5, TimeUnit.SECONDS)); System.out.println("adding 3456 " + PrioQueue.offer(3456, 5, TimeUnit.SECONDS)); // print elements of PriorityBlockingQueue System.out.println("Queue Contains:"); System.out.println(PrioQueue.toString()); } }
adding 1234 true adding 2345 true adding 3456 true Queue Contains: [1234, 2345, 3456]
Referencia:
- https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/PriorityBlockingQueue.html#offer-E-
- https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/PriorityBlockingQueue.html#offer-E-long-java.util.concurrent.TimeUnit-
Publicación traducida automáticamente
Artículo escrito por AmanSingh2210 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA