The clear() method of DelayQueue in Java is used to remove all of the elements in the current DelayQueue object. The queue will be empty after this call is returned. The elements in the queue whose Delay does not have an Expiry are automatically discarded from the Queue.
Syntax:
public void clear()
Parameters: This method does not takes any parameter.
Return Value: This method does not returns any value.
Below program illustrate the above method:
Java
// Java program to illustrate the clear() 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 obj = 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 obj to the queue
queue.add(obj);
// Check if queue is empty
System.out.println("Is queue empty() : "
+ queue.isEmpty());
// Remove all elements from queue
// using clear() method
queue.clear();
// Check if queue is empty
System.out.println("Is queue empty after calling clear() : "
+ queue.isEmpty());
}
} |
Output:
Is queue empty() : false Is queue empty after calling clear() : true