El método pop() de LinkedBlockingDeque extrae un elemento de la pila representada por este deque. En otras palabras, elimina y devuelve el primer elemento de este deque. Devuelve nulo si el contenedor está vacío.
Sintaxis:
public E pop()
Parámetros: este método no acepta ningún parámetro.
Devoluciones: este método devuelve el elemento al frente de esta deque ( que es la parte superior de la pila representada por esta deque ). Lanza una NoSuchElementException si el deque está vacío.
Los siguientes programas ilustran el método pop() de LinkedBlockingDeque:
Programa 1:
// Java Program to demonstrate pop() // method of LinkedBlockingDeque import java.util.concurrent.LinkedBlockingDeque; import java.util.*; public class GFG { public static void main(String[] args) throws NoSuchElementException { // create object of LinkedBlockingDeque LinkedBlockingDeque<Integer> LBD = new LinkedBlockingDeque<Integer>(); // Add numbers to end of LinkedBlockingDeque LBD.addFirst(7855642); LBD.addFirst(35658786); LBD.addFirst(5278367); LBD.addFirst(74381793); // Print the queue System.out.println("Linked Blocking Deque: " + LBD); // prints and deletes System.out.println("Front element in Deque: " + LBD.pop()); // Deque after deletion of front element System.out.println("Linked Blocking Deque: " + LBD); } }
Producción:
Linked Blocking Deque: [74381793, 5278367, 35658786, 7855642] Front element in Deque: 74381793 Linked Blocking Deque: [5278367, 35658786, 7855642]
Programa 2:
// Java Program Demonstrate pop() // method of LinkedBlockingDeque // when Deque is empty import java.util.concurrent.LinkedBlockingDeque; import java.util.*; public class GFG { public static void main(String[] args) { // create object of LinkedBlockingDeque LinkedBlockingDeque<Integer> LBD = new LinkedBlockingDeque<Integer>(); // Add numbers to end of LinkedBlockingDeque LBD.add(7855642); LBD.add(35658786); LBD.add(5278367); LBD.add(74381793); // empty deque LBD.clear(); System.out.println("Front element in Deque: " + LBD.pop()); } }
Producción:
Exception in thread "main" java.util.NoSuchElementException at java.util.concurrent.LinkedBlockingDeque.removeFirst(LinkedBlockingDeque.java:453) at java.util.concurrent.LinkedBlockingDeque.pop(LinkedBlockingDeque.java:777) at GFG.main(GFG.java:27)
Referencia: https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/LinkedBlockingDeque.html#pop()