AbstractQueue的remove()方法返回并删除此队列的头。
用法:
public E remove()
参数:此方法不接受任何参数。
返回:该方法返回队列的头部。
异常:如果队列为空,该函数将引发NoSuchElementException。
以下示例程序旨在说明remove()方法:
程序1:
// Java program to illustrate the
// AbstractQueue remove() method
import java.util.*;
import java.util.concurrent.LinkedBlockingQueue;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
// Creating object of AbstractQueue
AbstractQueue
AQ1 = new LinkedBlockingQueue();
// Populating AQ1
AQ1.add(10);
AQ1.add(20);
AQ1.add(30);
AQ1.add(40);
AQ1.add(50);
// print AQ
System.out.println("AbstractQueue1 contains:" + AQ1);
// retrieves the head
int head = AQ1.remove();
System.out.println("head:" + head);
// print AQ
System.out.println("AbstractQueue1 after removal of head:" + AQ1);
}
}
输出:
AbstractQueue1 contains:[10, 20, 30, 40, 50]
head:10
AbstractQueue1 after removal of head:[20, 30, 40, 50]
程序2:
// Java program to illustrate the
// AbstractQueue element() method
// NoSuchElementException
// Java program to illustrate the
// AbstractQueue remove() method
import java.util.*;
import java.util.concurrent.LinkedBlockingQueue;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
try {
// Creating object of AbstractQueue
AbstractQueue
AQ1 = new LinkedBlockingQueue();
// Populating AQ1
AQ1.add(10);
// print AQ
System.out.println("AbstractQueue1 contains:" + AQ1);
// retrieves the head
int head = AQ1.remove();
System.out.println("head:" + head);
// retrieves the head again
head = AQ1.remove();
System.out.println("head:" + head);
}
catch (Exception e) {
System.out.println("Exception:" + e);
}
}
}
输出:
AbstractQueue1 contains:[10]
head:10
Exception:java.util.NoSuchElementException