LinkedBlockingQueue remove() method in Java
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
// Java Program Demonstrate remove(Object obj)
// 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");
linkedQueue.put("Harsh");
linkedQueue.put("Rahul");
// print elements of queue
System.out.println("Items in Queue are " + linkedQueue);
// try to remove Karan from Queue using remove()
boolean try1 = linkedQueue.remove("Karan");
// Print result of remove()
System.out.println("String name Karan is removed :"
+ try1);
// try to remove Sunny from Queue using remove()
boolean try2 = linkedQueue.remove("Sunny");
// Print result of remove()
System.out.println("String name Sunny is removed :"
+ try2);
// try to remove Harsh from Queue using remove()
boolean try3 = linkedQueue.remove("Harsh");
// Print result of remove()
System.out.println("String name Harsh is removed :"
+ try2);
// print queue
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
// Java Program Demonstrate remove(object obj)
// method of LinkedBlockingQueue
import java.util.Iterator;
import java.util.concurrent.LinkedBlockingQueue;
public class GFG {
public void removeDemo() throws InterruptedException
{
// define capacity of LinkedBlockingQueue
int capacityOfQueue = 5;
// create object of LinkedBlockingQueue
LinkedBlockingQueue<Employee> linkedQueue
= new LinkedBlockingQueue<Employee>(capacityOfQueue);
// 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("Before removing Elements");
Iterator itr = linkedQueue.iterator();
while (itr.hasNext())
System.out.println(itr.next());
// remove employee2 name Sanjeet from linkedQueue
// Using remove(Object obj) method
linkedQueue.remove(emp2);
// Also remove Ranjeet employee1 from linkedQueue
// Using remove(Object obj) method
linkedQueue.remove(emp1);
// print details of linkedQueue
System.out.println("After removing Some Elements");
itr = linkedQueue.iterator();
while (itr.hasNext())
System.out.println(itr.next());
}
// 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.removeDemo();
}
catch (InterruptedException e) {
// TODO Auto-generated catch block
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-
Similar Reads
LinkedBlockingQueue Class in Java The LinkedBlockingQueue in Java is part of the java.util.concurrent package and implements the BlockingQueue interface. It provides a thread-safe, bounded, or unbounded queue used for managing tasks in a producer-consumer scenario. This queue can be used in multithreaded environments where one threa
8 min read
LinkedBlockingQueue clear() method in Java The clear() method of LinkedBlockingQueue removes all of the elements from this queue. After applying this method the queue will become empty. Syntax: public void clear() Below programs illustrates clear() method of LinkedBlockingQueue class: Program 1: Java // Java Program Demonstrate clear() // me
2 min read
LinkedBlockingQueue iterator() method in Java The iterator() method of LinkedBlockingQueue returns an iterator of the same elements, as this LinkedBlockingQueue, in a proper sequence. The elements returned from this method contains all the elements in order from first(head) to last(tail) of LinkedBlockingQueue. The returned iterator is weakly c
3 min read
LinkedBlockingQueue drainTo() method in Java The drainTo(Collection col) method of LinkedBlockingQueue removes all available elements from this LinkedBlocking Queue and adds them to the given collection passed as a parameter. drainTo(Collection<? super E> col) The drainTo(Collection<? super E> col) method of LinkedBlockingQueue rem
7 min read
LinkedBlockingQueue | offer() Method in JAVA There is two types of offer() method for LinkedBlockingQueue class : offer(E e, long timeout, TimeUnit unit) The offer(E e, long timeout, TimeUnit unit) method of LinkedBlockingQueue inserts the element passed as parameter to method at the tail of this LinkedBlockingQueue if queue is not full. It wi
6 min read
LinkedBlockingQueue peek() method in Java The peek() method of LinkedBlockingQueue returns the head of the LinkedBlockingQueue. It retrieves the value of the head of LinkedBlockingQueue but does not remove it. If the LinkedBlockingQueue is empty then this method returns null. Syntax: public E peek() Return Value: This method returns the hea
3 min read
LinkedBlockingQueue poll() method in Java There is two types of poll() method in LinkedBlockingQueue. poll() The poll() method of LinkedBlockingQueue returns the head of LinkedBlockingQueue by removing that element from queue. It can be said that this method retrieves and removes element from head of this LinkedBlockingQueue. If queue is em
6 min read
LinkedBlockingQueue put() method in Java with Examples The put(E e) method of LinkedBlockingQueue inserts element passed as parameter to method at the tail of this LinkedBlockingQueue, if queue is not full. If the queue is full, then this method will wait for space to become available and after space is available, it inserts the element to LinkedBlockin
3 min read
LinkedBlockingQueue remainingCapacity() method in Java The remainingCapacity() method of LinkedBlockingQueue returns the number of more elements that can be added to LinkedBlockingQueue without blocking. The Capacity returned arises three cases: If remaining Capacity is Zero, then no more elements can be added to the LinkedBlockingQueue.If remaining Cap
3 min read
LinkedBlockingQueue remove() method in Java 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 t
4 min read