El método addLast(E e) de Deque Interface inserta el elemento pasado en el parámetro al final de Deque si hay espacio. Si Deque tiene una capacidad restringida y no queda espacio para la inserción, devuelve una IllegalStateException . La función devuelve verdadero en la inserción exitosa.
Sintaxis:
boolean addLast(E e)
Parámetros: Este método acepta un parámetro obligatorio e que es el elemento a insertar al final del Deque.
Devoluciones: este método devuelve verdadero en la inserción exitosa.
Excepciones: la función arroja cuatro excepciones que se describen a continuación:
- ClassCastException : cuando la clase del elemento a ingresar impide que se agregue a este contenedor.
- IllegalStateException : cuando la capacidad del contenedor está llena y se realiza la inserción.
- IllegalArgumentException : cuando alguna propiedad del elemento impide que se agregue al Deque.
- NullPointerException : cuando el elemento a insertar se pasa como nulo y la interfaz de Deque no permite elementos nulos.
Los siguientes programas ilustran la implementación del método addLast() por varias clases que implementan Deque Interface :
Programa 1: Con la ayuda de LinkedList .
// Java Program Demonstrate addLast() // method of Deque import java.util.*; public class GFG { public static void main(String[] args) throws IllegalStateException { // create object of De1ue Deque<Integer> DQ = new LinkedList<Integer>(); // Add numbers to end of Deque DQ.addLast(7855642); DQ.addLast(35658786); DQ.addLast(5278367); DQ.addLast(74381793); // before removing print Deque System.out.println("Deque: " + DQ); } }
Deque: [7855642, 35658786, 5278367, 74381793]
Programa 2: Con la ayuda de LinkedBlockingDeque .
// Java Program Demonstrate addLast() // method of Deque import java.util.*; import java.util.concurrent.LinkedBlockingDeque; public class GFG { public static void main(String[] args) throws IllegalStateException { // create object of De1ue Deque<Integer> DQ = new LinkedBlockingDeque<Integer>(); // Add numbers to end of Deque DQ.addLast(7855642); DQ.addLast(35658786); DQ.addLast(5278367); DQ.addLast(74381793); // before removing print Deque System.out.println("Deque: " + DQ); } }
Deque: [7855642, 35658786, 5278367, 74381793]
Programa 3: Con la ayuda de ArrayDeque .
// Java Program Demonstrate addLast() // method of Deque import java.util.*; public class GFG { public static void main(String[] args) throws IllegalStateException { // create object of De1ue Deque<Integer> DQ = new ArrayDeque<Integer>(); // Add numbers to end of Deque DQ.addLast(7855642); DQ.addLast(35658786); DQ.addLast(5278367); DQ.addLast(74381793); // before removing print Deque System.out.println("Deque: " + DQ); } }
Deque: [7855642, 35658786, 5278367, 74381793]
Programa 4: Con la ayuda de ConcurrentLinkedDeque .
// Java Program Demonstrate addLast() // method of Deque import java.util.*; import java.util.concurrent.ConcurrentLinkedDeque; public class GFG { public static void main(String[] args) throws IllegalStateException { // create object of De1ue Deque<Integer> DQ = new ConcurrentLinkedDeque<Integer>(); // Add numbers to end of Deque DQ.addLast(7855642); DQ.addLast(35658786); DQ.addLast(5278367); DQ.addLast(74381793); // before removing print Deque System.out.println("Deque: " + DQ); } }
Deque: [7855642, 35658786, 5278367, 74381793]
Los siguientes programas ilustran las excepciones lanzadas por el método addLast() :
Programa 5: Para mostrar NullPointerException .
// Java Program Demonstrate addLast() // method of DeQue when Null is passed import java.util.*; import java.util.concurrent.LinkedBlockingDeque; public class GFG { public static void main(String[] args) throws IllegalStateException { // create object of DeQue Deque<Integer> DQ = new LinkedBlockingDeque<Integer>(); // Add numbers to end of DeQue DQ.addLast(7855642); DQ.addLast(35658786); DQ.addLast(5278367); try { // when null is inserted DQ.addLast(null); } catch (Exception e) { System.out.println( "Exception thrown " + "while inserting null: " + e); } } }
Exception thrown while inserting null: java.lang.NullPointerException
Programa 6: Para mostrar IllegalStateException .
// Java Program Demonstrate addLast() // method of Deque when capacity is full import java.util.*; import java.util.concurrent.LinkedBlockingDeque; public class GFG { public static void main(String[] args) throws IllegalStateException { // create object of Deque Deque<Integer> DQ = new LinkedBlockingDeque<Integer>(3); // Add numbers to end of Deque DQ.addLast(7855642); DQ.addLast(35658786); DQ.addLast(5278367); try { // when capacity is full DQ.addLast(10); } catch (Exception e) { System.out.println( "Exception thrown " + "while inserting an element " + "when the Deque is already " + "full: " + e); } } }
Excepción lanzada al insertar un elemento cuando Deque ya está lleno: java.lang.IllegalStateException: Deque full
Nota: Las otras dos excepciones son internas y dependen del compilador, por lo que no se pueden mostrar en el compilador en línea.
Referencia: https://docs.oracle.com/javase/8/docs/api/java/util/Deque.html#addLast-E-