Java AbstractQueue remove()方法及示例
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<Integer>
AbstractQueue<Integer>
AQ1 = new LinkedBlockingQueue<Integer>();
// 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<Integer>
AbstractQueue<Integer>
AQ1 = new LinkedBlockingQueue<Integer>();
// 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
参考资料: https://docs.oracle.com/javase/8/docs/api/java/util/AbstractQueue.html#remove-
极客教程