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]