Returns the number of additional elements that this queue can accept without blocking.

package com.logicbig.example.arrayblockingqueue;
import java.util.Arrays;
import java.util.concurrent.ArrayBlockingQueue;
public class RemainingCapacityExample {
public static void main(String... args) throws InterruptedException {
ArrayBlockingQueue<Integer> q = new ArrayBlockingQueue<>(3, true, Arrays.asList(1, 3, 5));
System.out.println("queue: " + q);
int capacity = q.remainingCapacity();
System.out.println("remaining capacity: " + capacity);
for (int c = 0; c < 5; c++) {
Integer i = q.poll();
System.out.printf("polled: %s, remaining capacity: %s%n", i, q.remainingCapacity());
}
}
}
Output
queue: [1, 3, 5]
remaining capacity: 0
polled: 1, remaining capacity: 1
polled: 3, remaining capacity: 2
polled: 5, remaining capacity: 3
polled: null, remaining capacity: 3
polled: null, remaining capacity: 3