Lista secuencial abstracta de Java | agregar()

AbstractSequentialList usa elmétodo add() especificado por la interfaz List y anulado en la clase AbstractList. Por lo tanto, AbstractSequentialList no tiene un método add() propio. En su lugar, tienemétodo add (índice int, elemento E) .

El método AbstractSequentialList add(int index, E element) inserta el elemento especificado en la posición especificada en esta lista. Desplaza el elemento que se encuentra actualmente en esa posición (si lo hay) y cualquier elemento posterior a la derecha (agrega uno a sus índices). Esta implementación primero obtiene un iterador de lista que apunta al elemento indexado (con listIterator(index)). Luego, inserta el elemento especificado con ListIterator.add.

Por lo tanto, add (elemento E) y add (índice int, elemento E) se pueden usar con la clase AbstractSequentialList.

Sintaxis

public void add(int index, E element)

Parámetros: Este método toma dos parámetros:

  • index : representa el índice, de tipo Integer, en el que se insertará el elemento especificado. Este parámetro es opcional. Si no se especifica, el elemento especificado se inserta en la última posición de la lista.
  • elemento – Representa el elemento, de tipo E, a ser insertado en la lista.

Excepciones: este método arroja las siguientes excepciones:

  • UnsupportedOperationException : si la operación de agregar no es compatible con esta lista
  • ClassCastException : si la clase del elemento especificado impide que se agregue a esta lista
  • NullPointerException : si el elemento especificado es nulo y esta lista no permite elementos nulos
  • IllegalArgumentException : si alguna propiedad del elemento especificado impide que se agregue a esta lista
  • IndexOutOfBoundsException : si el índice está fuera de rango (tamaño del índice())

A continuación se muestran los programas para ilustrar el método add():

Programa 1: Agregar los elementos, sin pasar el índice

// Java program to demonstrate
// add() method
  
import java.util.*;
  
public class GfG {
  
    public static void main(String[] args)
    {
        // Creating an instance of the AbstractSequentialList
        AbstractSequentialList<Integer> absl = new LinkedList<>();
  
        // adding elements to absl
        absl.add(5);
        absl.add(6);
        absl.add(7);
  
        // Printing the list
        System.out.println(absl);
    }
}
Producción:

[5, 6, 7]

Java-CollectionsRemove term: Java-Functions Java-Functions
Program 2: Agregando los elementos, pasando el índice

// Java program to demonstrate
// add() method
  
import java.util.*;
  
public class GfG {
  
    public static void main(String[] args)
    {
        // Creating an instance of the AbstractSequentialList
        AbstractSequentialList<Integer> absl = new LinkedList<>();
  
        // adding elements to absl
        absl.add(0, 8);
        absl.add(1, 7);
        absl.add(1, 9);
        absl.add(3, 10);
  
        // Printing the list
        System.out.println(absl);
    }
}
Producción:

[8, 9, 7, 10]

Programa 3: Para demostrar IndexOutOfBoundException

// Java code to show IndexOutofBoundException
  
import java.util.*;
  
public class GfG {
  
    public static void main(String[] args)
    {
  
        // Creating an instance of the AbstractSequentialList
        AbstractSequentialList<Integer> absl = new LinkedList<>();
  
        // adding elements to absl
        absl.add(5);
        absl.add(6);
        absl.add(7);
        absl.add(2, 8);
        absl.add(2, 7);
        absl.add(1, 9);
        absl.add(4, 10);
  
        // Printing the list
        System.out.println(absl);
  
        try {
            // showing IndexOutOfBoundsException
            absl.add(10, 12);
        }
        catch (Exception e) {
            System.out.println("Exception: " + e);
        }
    }
}
Producción:

[5, 9, 6, 7, 10, 8, 7]
Exception: java.lang.IndexOutOfBoundsException: Index: 10, Size: 7

Publicación traducida automáticamente

Artículo escrito por barykrg 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 *