El método remove() de BlockingDeque elimina la cabeza del contenedor Deque. El método lanza una NoSuchElementException si el contenedor Deque está vacío. Si se pasa un elemento en el parámetro, elimina el elemento dado si está presente en el Deque.
Sintaxis:
public E remove() or boolean remove(element)
Parámetros: este método acepta un elemento de parámetro temporal que debe eliminarse de BlockingDeque
Devoluciones: este método devuelve verdadero o falso si se pasa el parámetro; de lo contrario, no devuelve nada. Devuelve verdadero si el elemento está en el Deque, o de lo contrario devuelve falso.
Excepción : la función lanza una NoSuchElementException si el Deque está vacío.
Nota : El método remove() de BlockingDeque se ha heredado de la clase LinkedBlockingDeque en Java.
Los siguientes programas ilustran el método remove() de BlockingDeque:
Programa 1:
// Java Program Demonstrate remove() // method of BlockingDeque import java.util.concurrent.LinkedBlockingDeque; import java.util.concurrent.BlockingDeque; import java.util.*; public class GFG { public static void main(String[] args) throws InterruptedException { // create object of BlockingDeque BlockingDeque<Integer> BD = new LinkedBlockingDeque<Integer>(); // Add numbers to end of BlockingDeque BD.add(7855642); BD.add(35658786); BD.add(5278367); BD.add(74381793); // print Deque System.out.println("Blocking Deque: " + BD); // removes the front element BD.remove(); System.out.println("Blocking Deque: " + BD); // removes the element BD.remove(5278367); System.out.println("Blocking Deque: " + BD); } }
Blocking Deque: [7855642, 35658786, 5278367, 74381793] Blocking Deque: [35658786, 5278367, 74381793] Blocking Deque: [35658786, 74381793]
Programa 2:
// Java Program Demonstrate remove() // method of BlockingDeque import java.util.concurrent.LinkedBlockingDeque; import java.util.concurrent.BlockingDeque; import java.util.*; public class GFG { public static void main(String[] args) throws InterruptedException { // create object of BlockingDeque BlockingDeque<Integer> BD = new LinkedBlockingDeque<Integer>(); // Add numbers to end of BlockingDeque BD.add(7855642); BD.add(35658786); BD.add(5278367); BD.add(74381793); // print Deque System.out.println("Blocking Deque: " + BD); BD.clear(); // removes the front element BD.remove(); System.out.println("Blocking Deque: " + BD); // removes the element BD.remove(5278367); System.out.println("Blocking Deque: " + BD); } }
Producción:
Exception in thread "main" java.util.NoSuchElementException at java.util.concurrent.LinkedBlockingDeque.removeFirst(LinkedBlockingDeque.java:453) at java.util.concurrent.LinkedBlockingDeque.remove(LinkedBlockingDeque.java:672) at GFG.main(GFG.java:29)
Referencia: https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/BlockingDeque.html#remove()