📜  Java中的DelayQueue clear()方法

📅  最后修改于: 2022-05-13 01:55:48.833000             🧑  作者: Mango

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