El método add(E e) de AbstractQueue inserta el elemento especificado en esta cola si es posible hacerlo inmediatamente sin violar las restricciones de capacidad. Devuelve verdadero en caso de éxito y lanza una IllegalStateException si no hay espacio disponible actualmente.
Sintaxis:
public boolean add(E e)
Parámetros: Este método acepta un parámetro obligatorio e que es el elemento a insertar en la cola.
Devoluciones: este método devuelve verdadero si el elemento se inserta en la cola; de lo contrario, devuelve falso.
Excepción: este método arroja las siguientes excepciones:
- IllegalStateException : si el elemento no se puede agregar en este momento debido a restricciones de capacidad
- NullPointerException : si el elemento especificado es nulo
- ClassCastException : si la clase del elemento especificado impide que se agregue a esta cola
- IllegalArgumentException : si alguna propiedad de este elemento impide que se agregue a esta cola
Los siguientes programas ilustran el método add():
Programa 1:
// Java program to illustrate the // AbstractQueue add() method import java.util.*; import java.util.concurrent.LinkedBlockingQueue; public class GFG1 { public static void main(String[] argv) throws Exception { // Creating object of AbstractQueue<Integer> AbstractQueue<Integer> AQ = new LinkedBlockingQueue<Integer>(); // Populating AQ AQ.add(10); AQ.add(20); AQ.add(30); AQ.add(40); AQ.add(50); // print AQ System.out.println("AbstractQueue contains : " + AQ); } }
AbstractQueue contains : [10, 20, 30, 40, 50]
Programa 2: Programa para IllegalStateException
// Java program to illustrate the // AbstractQueue add() method // IllegalStateException import java.util.*; import java.util.concurrent.LinkedBlockingQueue; public class GFG1 { public static void main(String[] argv) throws Exception { try { // Creating object of AbstractQueue<Integer> AbstractQueue<Integer> AQ = new LinkedBlockingQueue<Integer>(2); // Populating AQ AQ.add(10); AQ.add(20); AQ.add(30); AQ.add(40); AQ.add(50); // print AQ System.out.println("AbstractQueue contains : " + AQ); } catch (Exception e) { System.out.println("exception: " + e); } } }
exception: java.lang.IllegalStateException: Queue full
Programa 3: Programa para NullPointerException
// Java program to illustrate the // AbstractQueue add() method // NullPointerException import java.util.*; import java.util.concurrent.LinkedBlockingQueue; public class GFG1 { public static void main(String[] argv) throws Exception { try { // Creating object of AbstractQueue<Integer> AbstractQueue<Integer> AQ = new LinkedBlockingQueue<Integer>(); // Populating AQ AQ.add(10); AQ.add(20); AQ.add(30); AQ.add(null); AQ.add(50); // print AQ System.out.println("AbstractQueue contains : " + AQ); } catch (Exception e) { System.out.println("exception: " + e); } } }
exception: java.lang.NullPointerException
Referencia: https://docs.oracle.com/javase/8/docs/api/java/util/AbstractQueue.html#add-E-