Java ArrayList explicado: Uso, métodos clave y ejemplos prácticos
¿Qué es ArrayList en Java?
ArrayList es un array dinámico que se expande y contrae automáticamente a medida que se añaden o eliminan elementos. Es esencial cuando necesitas una colección flexible que pueda crecer o reducirse durante la ejecución.
A diferencia de un array de tamaño fijo (piensa en una cuerda rígida), un ArrayList se comporta como una banda elástica, permitiéndote almacenar más elementos sin tener que predefinir un tamaño máximo.

Cuando añades elementos, ArrayList crece automáticamente; cuando se eliminan, se encoge, asegurando uso eficiente de memoria.
Métodos de ArrayList
- add(Object o) – Añade un elemento al final de la lista o lo inserta en un índice especificado.
- remove(Object o) – Elimina la primera ocurrencia del elemento especificado.
- remove(int index) – Elimina el elemento en el índice dado.
- size() – Devuelve el número actual de elementos en la lista.
- contains(Object o) – Comprueba si la lista contiene el elemento especificado.
Ejemplo de Java ArrayList
A continuación se muestra una demostración concisa de las operaciones más comunes en un ArrayList.
import java.util.ArrayList; public class TestArrayList { public static void main(String[] args) { // Crear un ArrayList genérico ArrayList<String> arlTest = new ArrayList<>(); // Tamaño inicial System.out.println("Size at creation: " + arlTest.size()); // Añadir elementos arlTest.add("D"); arlTest.add("U"); arlTest.add("K"); arlTest.add("E"); // Tamaño tras adiciones System.out.println("Size after adding: " + arlTest.size()); System.out.println("Elements: " + arlTest); // Eliminar por valor arlTest.remove("D"); System.out.println("After removing " + "D": " + arlTest); // Eliminar por índice arlTest.remove(2); // elimina "K" System.out.println("After removing index 2: " + arlTest); // Tamaño final System.out.println("Final size: " + arlTest.size()); System.out.println("Final list: " + arlTest); // Comprobación contains System.out.println("Contains " + "K" + ": " + arlTest.contains("K")); } }
Salida:
Size at creation: 0 Size after adding: 4 Elements: [D, U, K, E] After removing D: [U, K, E] After removing index 2: [U, K] Final size: 2 Final list: [U, K] Contains K: true
Nota: Aunque el ejemplo usa caracteres individuales, ArrayList puede contener cualquier tipo de objeto —strings, enteros, clases personalizadas y más.

Java
- Dominando las Técnicas de Afiladora de Herramientas: Guía Práctica
- Clases y métodos abstractos en Java: Guía completa
- Dominando los Algoritmos de Colecciones de Java: Ordenación, Mezcla y Más
- Crear un array de objetos en Java: Guía paso a paso
- Dominando el método compareTo() de Java String: Sintaxis, casos de uso y ejemplos prácticos
- Java String toLowerCase() y toUpperCase(): Convertir mayúsculas/minúsculas con conciencia de locale
- Sobrecarga de constructores en Java – Explicado con ejemplos de código prácticos
- Generar números aleatorios en Java: Guía práctica con Random y Math.random
- Java 9 Métodos de Fábrica de Colecciones: Simplificar Creación de List, Set y Map Inmutables
- Java 9 Métodos Privados en Interfaces: Mejorar Encapsulamiento y Reutilización de Código
- Java 8 Métodos Por Defecto Explicados: Mejorar Interfaces y Compatibilidad Hacia Atrás