ArrayBlockingQueue es una cola de bloqueo limitada que almacena los elementos respaldados internamente por una array.
- La clase ArrayBlockingQueue es miembro de Java Collections Framework.
- Acotado significa que tendrá un tamaño fijo, no puede almacenar el número de elementos más que la capacidad de la cola.
- La cola también sigue la regla FIFO (primero en entrar, primero en salir) para almacenar y eliminar elementos de la cola.
- Si intenta colocar un elemento en una cola llena o tomar un elemento de una cola vacía, la cola lo bloqueará.
El método put (E e) inserta el elemento pasado como parámetro al método al final de esta cola (ArrayBlockingQueue) si la cola no está llena. Si la cola está llena, esperará a que haya espacio disponible.
Sintaxis:
public void put(E e) throws InterruptedException
Parámetro:
e – el elemento a agregar en la cola.
Lanza
InterruptedException: si se interrumpe mientras se espera.
NullPointerException: si el elemento especificado es nulo.
Los siguientes programas ilustran el método put(E e) de ArrayBlockingQueue.
Ejemplo 1
// Java Program to demonstrate put(E e) // method of ArrayBlockingQueue. import java.util.concurrent.ArrayBlockingQueue; public class GFG { public static void main(String[] args) throws InterruptedException { // define capacity of ArrayBlockingQueue int capacity = 5; // create object of ArrayBlockingQueue ArrayBlockingQueue<Integer> queue = new ArrayBlockingQueue<Integer>(capacity); // Add elements to ArrayBlockingQueue using put method queue.put(223); queue.put(546); queue.put(986); queue.put(357); queue.put(964); // print Queue System.out.println("queue contains " + queue); } }
Output : queue contains [223, 546, 986, 357, 964]
Ejemplo 2
// Java Program to demonstrate put(E e) // method of ArrayBlockingQueue import java.util.concurrent.ArrayBlockingQueue; public class GFG { public static void main(String[] args) throws InterruptedException { // define capacity of ArrayBlockingQueue int capacity = 5; // create object of ArrayBlockingQueue ArrayBlockingQueue<String> queue = new ArrayBlockingQueue<String>(capacity); // Add elements to ArrayBlockingQueue using put method queue.put("StarWars"); queue.put("SuperMan"); queue.put("Flash"); queue.put("BatMan"); queue.put("Avengers"); // print Queue System.out.println("queue contains " + queue); // remove some elements queue.remove(); queue.remove(); // Add elements to ArrayBlockingQueue using put method queue.put("CaptainAmerica"); queue.put("Thor"); System.out.println("queue contains " + queue); } }
Output : queue contains [StarWars, SuperMan, Flash, BatMan, Avengers] queue contains [Flash, BatMan, Avengers, CaptainAmerica, Thor]
Referencia:
https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ArrayBlockingQueue.html#put(E)
Publicación traducida automáticamente
Artículo escrito por AmanSingh2210 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA