Método Deque add() en Java

El método add(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 add(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 el método add() de Deque:

Programa 1: Con la ayuda de LinkedList .  

Java

// Java Program Demonstrate add()
// 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.add(7855642);
        DQ.add(35658786);
        DQ.add(5278367);
        DQ.add(74381793);
 
        // before removing print Deque
        System.out.println("Deque: " + DQ);
    }
}
Producción: 

Deque: [7855642, 35658786, 5278367, 74381793]




 

Programa 2: Con la ayuda de ArrayDeque

Java

// Java Program Demonstrate add()
// 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.add(7855642);
        DQ.add(35658786);
        DQ.add(5278367);
        DQ.add(74381793);
 
        // before removing print Deque
        System.out.println("Deque: " + DQ);
    }
}
Producción: 

Deque: [7855642, 35658786, 5278367, 74381793]




 

Programa 3: Con la ayuda de ConcurrentLinkedDeque

Java

// Java Program Demonstrate add()
// 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.add(7855642);
        DQ.add(35658786);
        DQ.add(5278367);
        DQ.add(74381793);
 
        // before removing print Deque
        System.out.println("Deque: " + DQ);
    }
}
Producción: 

Deque: [7855642, 35658786, 5278367, 74381793]




 

Programa 4: Con la ayuda de LinkedBlockingDeque

Java

// Java Program Demonstrate add()
// 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.add(7855642);
        DQ.add(35658786);
        DQ.add(5278367);
        DQ.add(74381793);
 
        // before removing print Deque
        System.out.println("Deque: " + DQ);
    }
}
Producción: 

Deque: [7855642, 35658786, 5278367, 74381793]




 

Los siguientes programas ilustran las excepciones lanzadas por el método add() :

Programa 5: Para mostrar NullPointerException

Java

/// Java Program Demonstrate add()
// 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.add(7855642);
        DQ.add(35658786);
        DQ.add(5278367);
        // when null is inserted
        DQ.add(null);
 
        // before removing print DeQue
        System.out.println("DeQue: " + DQ);
    }
}

Producción: 

Exception in thread "main" java.lang.NullPointerException
    at java.util.concurrent.LinkedBlockingDeque.offerLast(LinkedBlockingDeque.java:357)
    at java.util.concurrent.LinkedBlockingDeque.addLast(LinkedBlockingDeque.java:334)
    at java.util.concurrent.LinkedBlockingDeque.add(LinkedBlockingDeque.java:633)
    at GFG.main(GFG.java:20)

Programa 6: Para mostrar IllegalStateException .

Java

// Java Program Demonstrate add()
// 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.add(7855642);
        DQ.add(35658786);
        DQ.add(5278367);
 
        // when capacity is full
        DQ.add(10);
 
        // before removing print Deque
        System.out.println("Deque: " + DQ);
    }
}

Producción: 

Exception in thread "main" java.lang.IllegalStateException: Deque full
    at java.util.concurrent.LinkedBlockingDeque.addLast(LinkedBlockingDeque.java:335)
    at java.util.concurrent.LinkedBlockingDeque.add(LinkedBlockingDeque.java:633)
    at GFG.main(GFG.java:21)

Nota: Las otras dos excepciones son internas y dependen del compilador, por lo que no se pueden mostrar en el compilador. 

Referencia: https://docs.oracle.com/javase/8/docs/api/java/util/Deque.html#add-E-
 

Publicación traducida automáticamente

Artículo escrito por gopaldave y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *