LinkedBlockingQueue remove() method in Java (original) (raw)

Last Updated : 05 Apr, 2023

The remove(Object obj) method of LinkedBlockingQueue removes only one instance of the given Object, passed as parameter, from this LinkedBlockingQueue if it is present. It removes an element e such that obj.equals(e) and if this queue contains one or more instance of element e. This method returns true if this queue contained the element which is now removed from LinkedBlockingQueue.

Syntax:

public boolean remove(Object o)

Parameter: This method accepts a mandatory parameter obj which is the element to be removed from LinkedBlockingQueue.

Return Value: This method returns true if this queue contained the element which is now removed from LinkedBlockingQueue. If the LinkedBlockingQueue did not contain the element obj, then this method returns false.

Below programs illustrates remove(Object obj) method of LinkedBlockingQueue class:

Program 1: Try to remove some element from LinkedBlockingQueue using remove(Object obj) and print result.

Java

import java.util.concurrent.LinkedBlockingQueue;

public class GFG {

`` public static void main(String[] args)

`` throws InterruptedException

`` {

`` int capacityOfQueue = 4 ;

`` LinkedBlockingQueue<String> linkedQueue

`` = new LinkedBlockingQueue<String>(capacityOfQueue);

`` linkedQueue.put("Karan");

`` linkedQueue.put("Suraj");

`` linkedQueue.put("Harsh");

`` linkedQueue.put("Rahul");

`` System.out.println("Items in Queue are " + linkedQueue);

`` boolean try1 = linkedQueue.remove("Karan");

`` System.out.println("String name Karan is removed :"

`` + try1);

`` boolean try2 = linkedQueue.remove("Sunny");

`` System.out.println("String name Sunny is removed :"

`` + try2);

`` boolean try3 = linkedQueue.remove("Harsh");

`` System.out.println("String name Harsh is removed :"

`` + try2);

`` System.out.println("After Removing Some Elements:");

`` System.out.println("Items in Queue are " + linkedQueue);

`` }

}

Output:

Items in Queue are [Karan, Suraj, Harsh, Rahul] String name Karan is removed :true String name Sunny is removed :false String name Harsh is removed :false After Removing Some Elements: Items in Queue are [Suraj, Rahul]

Program 1: Remove Employee object using remove(Object obj) method in LinkedBlockingQueue

Java

import java.util.Iterator;

import java.util.concurrent.LinkedBlockingQueue;

public class GFG {

`` public void removeDemo() throws InterruptedException

`` {

`` int capacityOfQueue = 5 ;

`` LinkedBlockingQueue<Employee> linkedQueue

`` = new LinkedBlockingQueue<Employee>(capacityOfQueue);

`` Employee emp1 = new Employee("Ranjeet", "Tester", " 29000 ", 27 );

`` Employee emp2 = new Employee("Sanjeet", "Manager", " 98000 ", 34 );

`` Employee emp3 = new Employee("Karan", "Analyst", " 44000 ", 30 );

`` linkedQueue.put(emp1);

`` linkedQueue.put(emp2);

`` linkedQueue.put(emp3);

`` System.out.println("Before removing Elements");

`` Iterator itr = linkedQueue.iterator();

`` while (itr.hasNext())

`` System.out.println(itr.next());

`` linkedQueue.remove(emp2);

`` linkedQueue.remove(emp1);

`` System.out.println("After removing Some Elements");

`` itr = linkedQueue.iterator();

`` while (itr.hasNext())

`` System.out.println(itr.next());

`` }

`` 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 + "]";

`` }

`` }

`` public static void main(String[] args)

`` {

`` GFG gfg = new GFG();

`` try {

`` gfg.removeDemo();

`` }

`` catch (InterruptedException e) {

`` e.printStackTrace();

`` }

`` }

}

Output:

Before removing Elements 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 removing Some Elements Employee [name=Karan, position=Analyst, salary=44000, Age=30]

Reference: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/LinkedBlockingQueue.html#remove-java.lang.Object-