Saltar al contenido principal

ArrayList

ArrayList<E> es una clase en Java que proporciona una lista dinámica de tamaño variable. A diferencia de los arrays, que tienen un tamaño fijo, una ArrayList puede redimensionarse automáticamente a medida que agregas o eliminas elementos, por lo que es una de las estructuras de datos más usadas para almacenar listas de elementos en Java.

Las características principales de ArrayList son:

  • Tamaño dinámico → Un ArrayList puede aumentar o reducir su tamaño automáticamente según se agreguen o eliminen elementos.
  • Acceso rápido → Permite el acceso a los elementos mediante un índice.
  • Permite duplicados y nulos → Un ArrayList permite elementos duplicados y admite null como valor.

Creación de ArrayList

Para crear un ArrayList es necesario importar la clase desde el paquete java.util. Aquí tienes algunos ejemplos de creación:

import java.util.ArrayList;

ArrayList<String> nombres = new ArrayList<String>(); // ArrayList vacío de Strings
ArrayList<Integer> numeros = new ArrayList<Integer>(10); // ArrayList con capacidad inicial de 10

Principales métodos de ArrayList

Un ArrayList ofrece una variedad de métodos para manipular y acceder a sus elementos. A continuación, presento los métodos más comunes y útiles que son comunes para todas las listas:

  • Agregar elementos: void add(E elemento) Agrega un elemento al final de la lista. También puedes especificar un índice para agregar el elemento en una posición específica void add(int posición, E elemento)

    nombres.add("Ana"); // Agrega al final
    nombres.add(0, "Carlos"); // Agrega en el índice 0
  • Obtener elementos: E get(int indice) Obtiene el elemento en un índice específico.

    String nombre = nombres.get(0); // Retorna "Carlos"
  • Actualizar elementos: set(int indice, E elemento) Modifica el valor de un elemento en un índice específico.

    nombres.set(1, "Lucía"); // Cambia "Ana" por "Lucía" en el índice 1
  • Eliminar elementos: E remove(int indice) Elimina el elemento en un índice especificado o el primer elemento que coincida con un valor E remove(E elemento).

    nombres.remove(0); // Elimina "Carlos"
    nombres.remove("Lucía"); // Elimina "Lucía" si existe
  • Verificar si contiene un elemento: boolean contains(Object obj) Comprueba si la lista contiene un elemento específico.

    boolean existe = nombres.contains("Ana"); // Retorna true si "Ana" está en la lista
  • Obtener el tamaño de la lista: int size() Devuelve el número de elementos en la lista.

    int tamaño = nombres.size(); // Retorna el tamaño de la lista
  • Comprobar si la lista está vacía: boolean isEmpty() Comprueba si la lista está vacía.

    boolean estaVacia = nombres.isEmpty(); // Retorna true si no hay elementos
  • Limpiar la Lista: void clear() Elimina todos los elementos de la lista.

    nombres.clear(); // La lista queda vacía
  • Obtener el Índice de un Elemento: int indexOf(E element) Retorna el índice de la primera aparición de un elemento.

    int indice = nombres.indexOf("Lucía"); // Retorna el índice de "Lucía"
  • Convertir un ArrayList a array: E[] toArray() Convierte un ArrayList en un array. Útil si necesitas un array regular para trabajar con métodos que requieran arrays.

    String[] array = nombres.toArray(new String[0]);