Ir al contenido

Métodos

La clase ArrayList proporciona una serie de métodos públicos que permiten realizar operaciones comunes sobre listas dinámicas, tales como insertar, acceder, modificar o eliminar elementos. A continuación se describen los métodos más relevantes, junto con ejemplos de uso.


Agrega un nuevo elemento al final del ArrayList.

ArrayList<String> nombres = new ArrayList<>();
nombres.add("Nataly");
nombres.add("Donnie");
  • Resultado: ["Nataly", "Donnie"]

Obtiene el elemento ubicado en la posición indicada por el índice.

String primero = nombres.get(0); // «Nataly»
  • Lanza IndexOutOfBoundsException si el índice es inválido.

Reemplaza el elemento ubicado en la posición index con el nuevo valor especificado.

nombres.set(1, "Jesús"); // Reemplaza «Donnie» por «Jesús»
  • Resultado: ["Nataly", "Jesús"]

Elimina el elemento en la posición indicada.

nombres.remove(0); // Elimina «Nataly»
  • Resultado: ["Jesús"]

Elimina la primera aparición del objeto especificado en la lista.

nombres.remove("Jesús"); // Elimina el elemento si existe
  • Retorna true si el elemento fue encontrado y eliminado.

Devuelve la cantidad de elementos almacenados en el ArrayList.

int cantidad = nombres.size(); // 0 (después de eliminar todos los elementos)

Indica si el ArrayList está vacío.

boolean vacio = nombres.isEmpty(); // true

Elimina todos los elementos del ArrayList, dejándolo vacío.

nombres.clear();

Retorna true si el elemento especificado existe en la lista.

nombres.add("Nataly");
boolean existe = nombres.contains("Nataly"); // true

Devuelve el índice de la primera aparición del elemento, o -1 si no existe.

int posicion = nombres.indexOf("Nataly"); // 0

Desde el punto de vista algorítmico se debe considerar el costo temporal de las operaciones sobre un ArrayList. Las complejidades más relevantes son:

  • get(index) y set(index, element) tienen complejidad O(1)

    • Acceden directamente a una posición específica del arreglo subyacente.
  • Métodos como add(element), remove(index), remove(Object), contains(element) e indexOf(element) tienen complejidad O(n) en el peor caso

    • Pueden requerir recorrer parcialmente o completamente el arreglo, o realizar desplazamientos al insertar o eliminar elementos intermedios.

Este comportamiento se debe a que ArrayList se basa internamente en un arreglo dinámico, lo cual favorece el acceso por índice pero penaliza las operaciones que afectan múltiples elementos.