The remove() method of AbstractQueue returns and removes the head of this queue.
Syntax:
public E remove()
Parameters: This method does not accept any parameters.
Returns: The method returns the head of the Queue.
Exception: The function throws an NoSuchElementException if the queue is empty.
Below programs illustrate remove() method:
Program 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);
}
} |
Output:
AbstractQueue1 contains : [10, 20, 30, 40, 50] head : 10 AbstractQueue1 after removal of head : [20, 30, 40, 50]
Program 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);
}
}
} |
Output:
AbstractQueue1 contains : [10] head : 10 Exception: java.util.NoSuchElementException
Reference: https://docs.oracle.com/javase/8/docs/api/java/util/AbstractQueue.html#remove–