Método Deque addFirst() en Java con ejemplos

El método addFirst(E e) de Deque Interface inserta el elemento pasado en el parámetro al frente 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:

void addFirst(E e)

Parámetros: este método acepta un parámetro obligatorio e que es el elemento que se insertará al frente 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 addFirst() de Deque:

Programa 1: Con la ayuda de LinkedList .

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

Deque: [74381793, 5278367, 35658786, 7855642]

Programa 2: Con la ayuda de ArrayDeque .

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

Deque: [74381793, 5278367, 35658786, 7855642]

Programa 3: Con la ayuda de ConcurrentLinkedDeque .

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

Deque: [74381793, 5278367, 35658786, 7855642]

Programa 4: Con la ayuda de LinkedBlockingDeque .

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

Deque: [74381793, 5278367, 35658786, 7855642]

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

Programa 5: Para mostrar NullPointerException .

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

Producción:

Exception in thread "main" java.lang.NullPointerException
    at java.util.concurrent.LinkedBlockingDeque.offerFirst(LinkedBlockingDeque.java:342)
    at java.util.concurrent.LinkedBlockingDeque.addFirst(LinkedBlockingDeque.java:325)
    at GFG.main(GFG.java:20)

Programa 6: Para mostrar IllegalStateException .

// Java Program Demonstrate addFirst()
// 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.addFirst(7855642);
        DQ.addFirst(35658786);
        DQ.addFirst(5278367);
  
        // when capacity is full
        DQ.addFirst(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.addFirst(LinkedBlockingDeque.java:326)
    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#addFirst-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 *