Java中的DelayQueue clear()方法
Java中DelayQueue的clear()方法用于移除当前DelayQueue对象中的所有元素。此调用返回后,队列将为空。队列中Delay没有Expiry的元素会自动从队列中丢弃。
语法:
public void clear()
参数:此方法不带任何参数。
返回值:此方法不返回任何值。
下面的程序说明了上述方法:
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 queue = new DelayQueue();
// 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());
}
}
输出:
Is queue empty() : false
Is queue empty after calling clear() : true