Saturday, January 11, 2025
Google search engine
HomeLanguagesJavaLinkedBlockingQueue size() method in Java

LinkedBlockingQueue size() method in Java

The size() method of LinkedBlockingQueue returns the number of elements that LinkedBlockingQueue contains. When queue is empty queue, size() returns 0 and when queue is full then size() returns the capacity of queue.
Syntax: 
 

public int size()

Return Value: This method returns the number of elements in the LinkedBlockingQueue at that instant. The return type is int.
Below programs illustrates size() method of LinkedBlockingQueue class:
Program 1: Perform add and remove operation on LinkedBlockingQueue an after each operation print size of queue using size()
 

Java




// Java Program Demonstrate size()
// method of LinkedBlockingQueue
 
import java.util.concurrent.LinkedBlockingQueue;
 
public class GFG {
 
    public static void main(String[] args)
        throws InterruptedException
    {
        // define capacity of LinkedBlockingQueue
        int capacityOfQueue = 4;
 
        // create object of LinkedBlockingQueue
        LinkedBlockingQueue<String> linkedQueue
            = new LinkedBlockingQueue<String>(capacityOfQueue);
 
        // Add element using put() method
        linkedQueue.put("Karan");
        linkedQueue.put("Suraj");
 
        // get size of queue using size() method
        int size = linkedQueue.size();
 
        // print elements of queue and size of queue
        System.out.println("Items in Queue are " + linkedQueue);
        System.out.println("Size of Queue is " + size);
 
        // add more elements
        linkedQueue.put("Harsh");
        linkedQueue.put("Rahul");
 
        // get size of queue using size() method
        size = linkedQueue.size();
 
        // print elements of queue and size of queue
        System.out.println("Items in Queue are " + linkedQueue);
        System.out.println("Size of Queue is " + size);
 
        // try to remove element from Queue
        boolean try1 = linkedQueue.remove("Karan");
        System.out.println("String name Karan is removed :"
                           + try1);
 
        // get size of queue using size() method
        size = linkedQueue.size();
 
        // print elements of queue and size of queue
        System.out.println("Items in Queue are " + linkedQueue);
        System.out.println("Size of Queue is " + size);
    }
}


Output: 

Items in Queue are [Karan, Suraj]
Size of Queue is 2

Items in Queue are [Karan, Suraj, Harsh, Rahul]
Size of Queue is 4

String name Karan is removed :true
Items in Queue are [Suraj, Harsh, Rahul]
Size of Queue is 3

 

Program 2: Perform add and remove operation on LinkedBlockingQueue, containing Employee objects, an after each operation print size of queue using size()
 

Java




// Java Program Demonstrate size()
// method of LinkedBlockingQueue
 
import java.util.Iterator;
import java.util.concurrent.LinkedBlockingQueue;
 
public class GFG {
 
    public void sizeDemo() throws InterruptedException
    {
        // define capacity of LinkedBlockingQueue
        int capacityOfQueue = 5;
 
        // create object of LinkedBlockingQueue
        LinkedBlockingQueue<Employee> linkedQueue
            = new LinkedBlockingQueue<Employee>(capacityOfQueue);
 
        // get size of queue using size() method
        int size = linkedQueue.size();
        System.out.println("Size of Queue " + size);
 
        // Add element to LinkedBlockingQueue
        Employee emp1 = new Employee("Ranjeet", "Tester", "29000", 27);
        Employee emp2 = new Employee("Sanjeet", "Manager", "98000", 34);
        Employee emp3 = new Employee("Karan", "Analyst", "44000", 30);
 
        // Add Employee Objects to linkedQueue
        // Using put(E e)
        linkedQueue.put(emp1);
        linkedQueue.put(emp2);
        linkedQueue.put(emp3);
 
        // print details of linkedQueue
        System.out.println("\nAfter Adding some Elements queue has");
        Iterator itr = linkedQueue.iterator();
        while (itr.hasNext())
            System.out.println(itr.next());
 
        // get size of queue using size() method
        size = linkedQueue.size();
        System.out.println("\nAfter Adding Size of Queue " + size);
 
        // remove employee2 name Sanjeet and Ranjeet from linkedQueue
        linkedQueue.remove(emp2);
        linkedQueue.remove(emp1);
 
        // print details of linkedQueue
        System.out.println("\nAfter removing Some Elements");
        itr = linkedQueue.iterator();
        while (itr.hasNext())
            System.out.println(itr.next());
 
        // get size of queue using size() method
        size = linkedQueue.size();
        System.out.println("\nAfter removing size of Queue " + size);
    }
 
    // create an Employee Object with name,
    // position, salary and age as attributes
    public class Employee {
 
        public String name;
        public String position;
        public String salary;
        public int Age;
 
        Employee(String name, String position,
                 String salary, int age)
        {
            this.name = name;
            this.position = position;
            this.salary = salary;
            this.Age = age;
        }
 
        @Override
        public String toString()
        {
            return "Employee [name=" + name + ", position="
                + position + ", salary=" + salary + ", Age=" + Age + "]";
        }
    }
 
    // Main Method
    public static void main(String[] args)
    {
        GFG gfg = new GFG();
        try {
            gfg.sizeDemo();
        }
        catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}


Output: 

Size of Queue 0

After Adding some Elements queue has
Employee [name=Ranjeet, position=Tester, salary=29000, Age=27]
Employee [name=Sanjeet, position=Manager, salary=98000, Age=34]
Employee [name=Karan, position=Analyst, salary=44000, Age=30]

After Adding Size of Queue 3

After removing Some Elements
Employee [name=Karan, position=Analyst, salary=44000, Age=30]

After removing size of Queue 1

 

Reference: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/LinkedBlockingQueue.html#size–
 

RELATED ARTICLES

Most Popular

Recent Comments