Introducción a ArrayList

ArrayList es una clase de la colección de Java que proporciona una implementación redimensionable de la interfaz List. A diferencia de los arrays tradicionales, un ArrayList puede crecer y reducirse dinámicamente según sea necesario. Esto lo hace muy útil cuando no se conoce de antemano el tamaño de la colección.

Características de ArrayList

  • Redimensionable: Puede crecer y reducirse dinámicamente.
  • Acceso rápido: Permite acceso aleatorio a los elementos.
  • No sincronizado: No es seguro para el uso en múltiples hilos sin sincronización explícita.
  • Permite elementos duplicados: Puede contener elementos duplicados y null.

Sintaxis Básica

Para utilizar ArrayList, primero debes importarlo desde el paquete java.util.

import java.util.ArrayList;

Creación de un ArrayList

ArrayList<String> lista = new ArrayList<>();

En este ejemplo, hemos creado un ArrayList que almacenará elementos de tipo String.

Operaciones Básicas

Añadir Elementos

lista.add("Elemento 1");
lista.add("Elemento 2");
lista.add("Elemento 3");

Acceder a Elementos

String elemento = lista.get(0); // Accede al primer elemento
System.out.println(elemento); // Imprime "Elemento 1"

Modificar Elementos

lista.set(1, "Elemento Modificado"); // Modifica el segundo elemento

Eliminar Elementos

lista.remove(0); // Elimina el primer elemento

Tamaño del ArrayList

int size = lista.size(); // Obtiene el número de elementos en el ArrayList

Iterar sobre un ArrayList

for (String item : lista) {
    System.out.println(item);
}

Ejemplo Completo

import java.util.ArrayList;

public class EjemploArrayList {
    public static void main(String[] args) {
        // Crear un ArrayList
        ArrayList<String> lista = new ArrayList<>();

        // Añadir elementos
        lista.add("Elemento 1");
        lista.add("Elemento 2");
        lista.add("Elemento 3");

        // Acceder a un elemento
        System.out.println("Primer elemento: " + lista.get(0));

        // Modificar un elemento
        lista.set(1, "Elemento Modificado");

        // Eliminar un elemento
        lista.remove(0);

        // Tamaño del ArrayList
        System.out.println("Tamaño del ArrayList: " + lista.size());

        // Iterar sobre el ArrayList
        for (String item : lista) {
            System.out.println(item);
        }
    }
}

Ejercicios Prácticos

Ejercicio 1: Crear y Manipular un ArrayList

  1. Crea un ArrayList de tipo Integer.
  2. Añade los números del 1 al 10 al ArrayList.
  3. Imprime todos los elementos del ArrayList.
  4. Elimina el número en la posición 5.
  5. Modifica el número en la posición 2 para que sea 100.
  6. Imprime el tamaño del ArrayList.

Solución

import java.util.ArrayList;

public class EjercicioArrayList {
    public static void main(String[] args) {
        // Crear un ArrayList de Integer
        ArrayList<Integer> numeros = new ArrayList<>();

        // Añadir números del 1 al 10
        for (int i = 1; i <= 10; i++) {
            numeros.add(i);
        }

        // Imprimir todos los elementos
        System.out.println("Elementos del ArrayList: " + numeros);

        // Eliminar el número en la posición 5
        numeros.remove(5);

        // Modificar el número en la posición 2 para que sea 100
        numeros.set(2, 100);

        // Imprimir el tamaño del ArrayList
        System.out.println("Tamaño del ArrayList: " + numeros.size());

        // Imprimir todos los elementos después de las modificaciones
        System.out.println("Elementos del ArrayList después de las modificaciones: " + numeros);
    }
}

Ejercicio 2: Buscar Elementos en un ArrayList

  1. Crea un ArrayList de tipo String.
  2. Añade los nombres "Ana", "Luis", "Carlos", "Marta" al ArrayList.
  3. Verifica si el nombre "Carlos" está en el ArrayList.
  4. Imprime la posición del nombre "Marta" en el ArrayList.

Solución

import java.util.ArrayList;

public class BuscarElementosArrayList {
    public static void main(String[] args) {
        // Crear un ArrayList de String
        ArrayList<String> nombres = new ArrayList<>();

        // Añadir nombres
        nombres.add("Ana");
        nombres.add("Luis");
        nombres.add("Carlos");
        nombres.add("Marta");

        // Verificar si "Carlos" está en el ArrayList
        if (nombres.contains("Carlos")) {
            System.out.println("Carlos está en el ArrayList.");
        } else {
            System.out.println("Carlos no está en el ArrayList.");
        }

        // Imprimir la posición de "Marta"
        int posicion = nombres.indexOf("Marta");
        System.out.println("Marta está en la posición: " + posicion);
    }
}

Conclusión

En esta sección, hemos aprendido sobre la clase ArrayList en Java, cómo crear y manipular un ArrayList, y cómo realizar operaciones básicas como añadir, acceder, modificar y eliminar elementos. También hemos visto ejemplos prácticos y ejercicios para reforzar los conceptos aprendidos. En el siguiente tema, exploraremos LinkedList, otra implementación de la interfaz List en Java.

Curso de Programación en Java

Módulo 1: Introducción a Java

Módulo 2: Flujo de Control

Módulo 3: Programación Orientada a Objetos

Módulo 4: Programación Orientada a Objetos Avanzada

Módulo 5: Estructuras de Datos y Colecciones

Módulo 6: Manejo de Excepciones

Módulo 7: Entrada/Salida de Archivos

Módulo 8: Multihilo y Concurrencia

Módulo 9: Redes

Módulo 10: Temas Avanzados

Módulo 11: Frameworks y Librerías de Java

Módulo 12: Construcción de Aplicaciones del Mundo Real

© Copyright 2024. Todos los derechos reservados