El método add(E e) de Queue Interface inserta el elemento pasado en el parámetro al final de la cola si hay espacio. Si la cola tiene 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 de la Cola. 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 a la cola.
- NullPointerException : cuando el elemento a insertar se pasa como nulo y la interfaz de Queue no permite elementos nulos.
Los siguientes programas ilustran el método add() de Queue: Programa 1: Con la ayuda de LinkedList .
Java
// Java Program Demonstrate add() // method of Queue import java.util.*; public class GFG { public static void main(String[] args) throws IllegalStateException { // create object of Queue Queue<Integer> Q = new LinkedList<Integer>(); // Add numbers to end of Queue Q.add(7855642); Q.add(35658786); Q.add(5278367); Q.add(74381793); // before removing print queue System.out.println("Queue: " + Q); } }
Queue: [7855642, 35658786, 5278367, 74381793]
Programa 2: Con la ayuda de ArrayDeque .
Java
// Java Program Demonstrate add() // method of Queue import java.util.*; public class GFG { public static void main(String[] args) throws IllegalStateException { // create object of Queue Queue<Integer> Q = new ArrayDeque<Integer>(); // Add numbers to end of Queue Q.add(7855642); Q.add(35658786); Q.add(5278367); Q.add(74381793); // before removing print queue System.out.println("Queue: " + Q); } }
Queue: [7855642, 35658786, 5278367, 74381793]
Programa 3: Con la ayuda de LinkedBlockingDeque .
Java
// Java Program Demonstrate add() // method of Queue import java.util.*; import java.util.concurrent.LinkedBlockingDeque; public class GFG { public static void main(String[] args) throws IllegalStateException { // create object of Queue Queue<Integer> Q = new LinkedBlockingDeque<Integer>(); // Add numbers to end of Queue Q.add(7855642); Q.add(35658786); Q.add(5278367); Q.add(74381793); // before removing print queue System.out.println("Queue: " + Q); } }
Queue: [7855642, 35658786, 5278367, 74381793]
Programa 4: Con la ayuda de ConcurrentLinkedDeque .
Java
// Java Program Demonstrate add() // method of Queue import java.util.*; import java.util.concurrent.ConcurrentLinkedDeque; public class GFG { public static void main(String[] args) throws IllegalStateException { // create object of Queue Queue<Integer> Q = new ConcurrentLinkedDeque<Integer>(); // Add numbers to end of Queue Q.add(7855642); Q.add(35658786); Q.add(5278367); Q.add(74381793); // before removing print queue System.out.println("Queue: " + Q); } }
Queue: [7855642, 35658786, 5278367, 74381793]
Los siguientes programas ilustran las excepciones lanzadas por este método : Programa 5: para mostrar NullPointerException .
Java
// Java Program Demonstrate add() // method of Queue when Null is passed import java.util.*; import java.util.concurrent.LinkedBlockingQueue; public class GFG { public static void main(String[] args) throws IllegalStateException { // create object of Queue Queue<Integer> Q = new LinkedBlockingQueue<Integer>(); // Add numbers to end of Queue Q.add(7855642); Q.add(35658786); Q.add(5278367); try { // when null is inserted Q.add(null); } catch (Exception e) { System.out.println("Exception: " + e); } } }
Exception: java.lang.NullPointerException
Programa 6: Para mostrar IllegalStateException .
Java
// Java Program Demonstrate add() // method of Queue when capacity is full import java.util.*; import java.util.concurrent.LinkedBlockingQueue; public class GFG { public static void main(String[] args) throws IllegalStateException { // create object of Queue Queue<Integer> Q = new LinkedBlockingQueue<Integer>(3); // Add numbers to end of Queue Q.add(7855642); Q.add(35658786); Q.add(5278367); try { // when capacity is full Q.add(10); } catch (Exception e) { System.out.println("Exception: " + e); } } }
Exception: java.lang.IllegalStateException: Queue full
Complejidad de tiempo : O(1)
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/Queue.html#add-E-