Java DelayQueue clear()方法
Java中DelayQueue的 clear() 方法是用来删除当前DelayQueue对象中的所有元素。这个调用返回后,队列将是空的。队列中的元素,如果其延迟时间没有过期,就会自动从队列中丢弃。
语法:
public void clear()
参数: 该方法不需要任何参数。
返回值: 该方法不返回任何值。
下面的程序说明了上述方法。
// 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());
}
}
输出
Is queue empty() : false
Is queue empty after calling clear() : true