Introducción:
En Java, ArrayList es una implementación de arreglo dinámico que ofrece una forma flexible para almacenar y manipular conjuntos de datos. Es parte del marco de colecciones de Java y permite agregar o eliminar elementos en tiempo de ejecución, además de proporcionar varios métodos útiles para trabajar con los elementos de la lista.
I. Uso básico de ArrayList
Para comenzar a utilizar ArrayList, primero debes importar el paquete java.util, ya que esta clase se encuentra allí. Luego, puedes crear un objeto de ArrayList instanciándolo, por ejemplo:
import java.util.ArrayList;
public class EjemploArrayList {
public static void main(String[] args) {
// Crear un ArrayList vacío
ArrayList<String> nombres = new ArrayList<>();
// Añadir elementos al ArrayList
nombres.add("Ana");
nombres.add("Luis");
nombres.add("Maria");
// Acceder a elementos del ArrayList
System.out.println(nombres.get(0)); // Muestra "Ana"
// Eliminar elementos del ArrayList
nombres.remove("Luis");
}
}
II. Operaciones comunes con ArrayList
- Añadir elementos:
Boolean add(E elemento): Agrega un elemento al final de la lista.
Boolean add(int índice, E elemento): Inserta un elemanto en una posición específica.
Ejemplo:
ArrayList<String> nombres = new ArrayList<>();
nombres.add("Ana");
nombres.add(0, "Luis");
- Eliminar elementos:
Boolean remove(int índice): Elimina un elemento según su posición.
Boolean remove(Object objeto): Elimina un objeto específico.
Ejemplo:
ArrayList<String> nombres = new ArrayList<>();
nombres.add("Ana");
nombres.add("Luis");
nombres.remove(1);
nombres.remove("Ana");
- Obtener elementos:
Object get(int índice): Recupera el elemento en una posición determinada.
Ejemplo:
ArrayList<String> nombres = new ArrayList<>();
nombres.add("Ana");
String primerElemento = nombres.get(0);
- Modificar elementos:
Object set(int índice, E elemento): Reemplaza el elemento en una posición dada. Devuelve el elemento anterior.
Ejemplo:
ArrayList<String> nombres = new ArrayList<>();
nombres.add("Ana");
nombres.set(0, "Luis");
- Verificar existencia de elementos:
Boolean contains(Object objeto): Comprueba si la lista cotniene un objeto específico.
Ejemplo:
ArrayList<String> nombres = new ArrayList<>();
nombres.add("Ana");
boolean contieneAna = nombres.contains("Ana");
- Obtener tamaño de la lista:
int size(): Devuelve la cantidad de elementos en la lista.
Ejemplo:
ArrayList<String> nombres = new ArrayList<>();
nombres.add("Ana");
int tamaño = nombres.size();
- Verificar si la lista está vacía:
Boolean isEmpty(): Comprueba si la lista no tiene elementos.
Ejemplo:
ArrayList<String> nombres = new ArrayList<>();
boolean estaVacia = nombres.isEmpty();
- Limpiar la lista:
void clear(): Elimina todos los elementos de la lista.
Ejemplo:
ArrayList<String> nombres = new ArrayList<>();
nombres.add("Ana");
nombres.clear();
- Buscar posición de elementos:
int indexOf(Object objeto): Devuelve la primera aparición de un elemento.
int lastIndexOf(Object objeto): Devuelve la última aparición de un elemento.
Ejemplo:
ArrayList<String> nombres = new ArrayList<>();
nombres.add("Ana");
nombres.add("Luis");
int posicion = nombres.indexOf("Ana");
int ultimaPosicion = nombres.lastIndexOf("Luis");
III. Recorrido de ArrayList
- Usar bucle for para recorrer
import java.util.ArrayList;
public class RecorridoArrayList {
public static void main(String[] args) {
ArrayList<String> nombres = new ArrayList<>();
nombres.add("Ana");
nombres.add("Luis");
nombres.add("Maria");
for (int i = 0; i < nombres.size(); i++) {
String nombre = nombres.get(i);
System.out.println(nombre);
}
}
}
En este ejemplo, utilizamos un bucle for para recorrer el objeto ArrayList. Usamos nombres.size() para obtener el tamaño de la lista y nombres.get(i) para acceder al valor de cada elemento.
- Usar bucle for mejorado para recorrer
import java.util.ArrayList;
public class RecorridoArrayList {
public static void main(String[] args) {
ArrayList<String> nombres = new ArrayList<>();
nombres.add("Ana");
nombres.add("Luis");
nombres.add("Maria");
for (String nombre : nombres) {
System.out.println(nombre);
}
}
}
En este caso, usamos el bucle for mejorado para recorrer el objeto ArrayList. La sintaxis es más sencilla, asignando directamente el objeto ArrayList a una variable y accediendo al valor en cada iteración.
- Usar iterador para recorrer
import java.util.ArrayList;
import java.util.Iterator;
public class RecorridoArrayList {
public static void main(String[] args) {
ArrayList<String> nombres = new ArrayList<>();
nombres.add("Ana");
nombres.add("Luis");
nombres.add("Maria");
Iterator<String> iterador = nombres.iterator();
while (iterador.hasNext()) {
String nombre = iterador.next();
System.out.println(nombre);
}
}
}
Aquí, usamos un iterador para recorrer el objeto ArrayList. Utilizamos nombres.iterator() para obtener el iterador y iterador.hasNext() para verificar si hay más elementos, mietnras que iterador.next() obtiene el siguiente elemento.