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–