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); } } |
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); } } } |
AbstractQueue1 contains : [10] head : 10 Exception: java.util.NoSuchElementException
Reference: https://docs.oracle.com/javase/8/docs/api/java/util/AbstractQueue.html#remove–