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 de capacidad restante() devuelve la cantidad de elementos adicionales que se pueden agregar a la cola sin bloquear. Siempre es igual a la diferencia entre la capacidad inicial de esta cola y el tamaño actual de esta cola.
Sintaxis:
public int remainingCapacity()
Parámetros: El método no toma ningún parámetro.
Valor devuelto: el método devuelve la capacidad restante de la cola.
Los siguientes programas ilustran el método de capacidad restante() de ArrayBlockingQueue:
Programa 1:
// Program to demonstrate remainingCapacity() method // of ArrayBlockingQueue import java.util.concurrent.ArrayBlockingQueue; public class GFG { public static void main(String[] args) { // Define capacity of ArrayBlockingQueue int capacity = 5; // Create object of ArrayBlockingQueue ArrayBlockingQueue<Integer> queue = new ArrayBlockingQueue<Integer>(capacity); // Add elements to ArrayBlockingQueue queue.add(23); queue.add(32); // Print queue after adding numbers System.out.println("Queue :" + queue); // Check remaining capacity int remainingCapacity = queue.remainingCapacity(); System.out.println("Remaining Capacity:" + remainingCapacity); // Add elements to ArrayBlockingQueue queue.add(54); queue.add(78); // Print queue after adding numbers System.out.println("Queue :" + queue); // Check remaining capacity System.out.println("Remaining Capacity:" + queue.remainingCapacity()); } }
Queue :[23, 32] Remaining Capacity:3 Queue :[23, 32, 54, 78] Remaining Capacity:1
Programa 2:
// Program to demonstrate remainingCapacity() method // of ArrayBlockingQueue import java.util.concurrent.ArrayBlockingQueue; public class GFG { // Create a User Object with name and age as an attribute public class User { public String name; public String age; User(String name, String age) { this.name = name; this.age = age; } } // Main Method public static void main(String[] args) { GFG gfg = new GFG(); gfg.RemainingCapacityExample(); } // Method to give example of contains function public void RemainingCapacityExample() { // Define capacity of ArrayBlockingQueue int capacity = 5; // Create object of ArrayBlockingQueue ArrayBlockingQueue<User> queue = new ArrayBlockingQueue<User>(capacity); // Create user objects User user1 = new User("Aman", "24"); User user2 = new User("Amar", "23"); User user3 = new User("Sanjeet", "25"); // Add Objects to ArrayBlockingQueue queue.offer(user1); queue.offer(user2); queue.offer(user3); // Check remaining capacity int remainingCapacity = queue.remainingCapacity(); System.out.println("Remaining Capacity:" + remainingCapacity); User user4 = new User("Suvo", "26"); User user5 = new User("Ravi", "22"); // Adding more objects queue.offer(user2); queue.offer(user3); // Check remaining capacity remainingCapacity = queue.remainingCapacity(); System.out.println("Remaining Capacity:" + remainingCapacity); } }
Remaining Capacity:2 Remaining Capacity:0
Referencia: https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ArrayBlockingQueue.html#remainingCapacity()
Publicación traducida automáticamente
Artículo escrito por AmanSingh2210 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA