The remove() method of DelayQueue class in Java is used to remove a single instance of the given object say obj from this DelayQueue if it is present. It returns true if the given element is removed successfully otherwise it returns false.
Syntax:
Java
public boolean remove(Object obj)Parameters: This method takes a single object obj as parameter which is to be removed from this DealyQueue. Return Value: It returns a boolean value which is true if the element has been successfully deleted otherwise it returns false. Below program illustrate the remove() method of DelayQueue in Java:
// Java Program to illustrate the remove method
// of DelayQueue class
import java.util.concurrent.DelayQueue;
import java.util.concurrent.Delayed;
import java.util.concurrent.TimeUnit;
public class GFG {
public static void main(String args[])
{
// Create a DelayQueue instance
DelayQueue<Delayed> queue = new DelayQueue<Delayed>();
// Create an object of type Delayed
Delayed ob = new Delayed() {
public long getDelay(TimeUnit unit)
{
return 24; // some value is returned
}
public int compareTo(Delayed o)
{
if (o.getDelay(TimeUnit.DAYS) >
this.getDelay(TimeUnit.DAYS))
return 1;
else if (o.getDelay(TimeUnit.DAYS) ==
this.getDelay(TimeUnit.DAYS))
return 0;
return -1;
}
};
// Add the object to DelayQueue
queue.add(ob);
// Print initial size of Queue
System.out.println("Initial Size : "
+ queue.size());
// Remove the object ob from
// this DelayQueue
queue.remove(ob);
// Print the final size of the DelayQueue
System.out.println("Size after removing : "
+ queue.size());
}
}
Output:
Initial Size : 1 Size after removing : 0