BlockingQueue remainingCapacity() method in Java with examples Last Updated : 12 Jul, 2025 Comments Improve Suggest changes Like Article Like Report The remainingCapacity() method of BlockingQueue returns the number of more elements that can be added to BlockingQueue without blocking. The Capacity returned arises in three cases: If remaining Capacity is Zero, then no more elements can be added to the BlockingQueue. If remaining Capacity of BlockingQueue is equal to the size of the Queue, then no element can be removed from the queue because in such situation queue is empty. In any other case, Capacity is always equal to a difference between the initial capacity of this BlockingQueue and the current size of this BlockingQueue. Syntax: public int remainingCapacity() Return Value: This method returns the remaining capacity of the BlockingQueue. Note: The remainingCapacity() method of BlockingQueue has been inherited from the Queue class in Java. Below programs illustrates remainingCapacity() method of BlockingQueue class: Program 1: Java // Java Program Demonstrate remainingCapacity() // method of BlockingQueue import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.BlockingQueue; public class GFG { public static void main(String[] args) { // define capacity of BlockingQueue int capacityOfQueue = 7; // create object of BlockingQueue BlockingQueue<String> BQ = new LinkedBlockingQueue<String>( capacityOfQueue); // Add element to BlockingQueue BQ.add("John"); BQ.add("Tom"); BQ.add("Clark"); BQ.add("Kat"); // find remaining Capacity of BQ // using remainingCapacity() method int remainingCapacity = BQ.remainingCapacity(); // print result System.out.println("Queue is " + BQ); // print head of the queue System.out.println("Remaining Capacity of Queue is " + remainingCapacity); } } Output: Queue is [John, Tom, Clark, Kat] Remaining Capacity of Queue is 3 Program 2: Java // Java Program Demonstrate remainingCapacity() // method of BlockingQueue import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.BlockingQueue; public class GFG { public void findPeek() { // define capacity of BlockingQueue int capacityOfQueue = 7; // create object of BlockingQueue BlockingQueue<Employee> BQ = new LinkedBlockingQueue<Employee>( capacityOfQueue); // Add element to BlockingQueue Employee emp1 = new Employee("Ravi", "Tester", "39000"); Employee emp2 = new Employee("Sanjeet", "Manager", "98000"); // Add Employee Objects to BQ BQ.add(emp1); BQ.add(emp2); // add element and find remaining capacity // follow same process again // until the queue becomes full while (BQ.size() != 7) { // adding emp2 again and again to queue System.out.println( "Adding employee is success " + BQ.offer(emp2)); // find remaining capacity of BQ // using remainingCapacity() method int remain = BQ.remainingCapacity(); // print remaining capacity value System.out.println( "Remaining Capacity of list :" + remain); } } // create an Employee Object with name, // position and salary as an attribute public class Employee { public String name; public String position; public String salary; Employee(String name, String position, String salary) { this.name = name; this.position = position; this.salary = salary; } @Override public String toString() { return "Employee [name=" + name + ", position=" + position + ", salary=" + salary + "]"; } } // Main Method public static void main(String[] args) { GFG gfg = new GFG(); gfg.findPeek(); } } Output: Adding employee is success true Remaining Capacity of list :4 Adding employee is success true Remaining Capacity of list :3 Adding employee is success true Remaining Capacity of list :2 Adding employee is success true Remaining Capacity of list :1 Adding employee is success true Remaining Capacity of list :0 Reference: https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/BlockingQueue.html#remainingCapacity() Comment G gopaldave Follow 0 Improve G gopaldave Follow 0 Improve Article Tags : Java Java-Collections Java - util package Java-Functions Java-BlockingQueue +1 More Explore Java BasicsIntroduction to Java3 min readJava Programming Basics9 min readJava Methods6 min readAccess Modifiers in Java4 min readArrays in Java7 min readJava Strings8 min readRegular Expressions in Java3 min readOOP & InterfacesClasses and Objects in Java9 min readAccess Modifiers in Java4 min readJava Constructors4 min readJava OOP(Object Oriented Programming) Concepts10 min readJava Packages7 min readJava Interface7 min readCollectionsCollections in Java12 min readCollections Class in Java13 min readCollection Interface in Java4 min readIterator in Java4 min readJava Comparator Interface4 min readException HandlingJava Exception Handling6 min readJava Try Catch Block4 min readJava final, finally and finalize4 min readChained Exceptions in Java3 min readNull Pointer Exception in Java5 min readException Handling with Method Overriding in Java4 min readJava AdvancedJava Multithreading Tutorial3 min readSynchronization in Java7 min readFile Handling in Java4 min readJava Method References9 min readJava 8 Stream Tutorial7 min readJava Networking6 min readJDBC Tutorial5 min readJava Memory Management4 min readGarbage Collection in Java6 min readMemory Leaks in Java3 min readPractice JavaJava Interview Questions and Answers15+ min readJava Programs - Java Programming Examples7 min readJava Exercises - Basic to Advanced Java Practice Programs with Solutions5 min readJava Quiz1 min readJava Project Ideas For Beginners and Advanced15+ min read Like