Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Java

Dominando ArrayList en Java: Operaciones, métodos y mejores prácticas

Clase ArrayList en Java

Descubre todo el poder de ArrayList de Java: crea, manipula e itera con ejemplos claros y del mundo real.

La clase ArrayList, parte del Framework de Colecciones de Java, implementa la interfaz List y ofrece una estructura de datos de array redimensionable. A diferencia de los arrays estáticos, un ArrayList ajusta automáticamente su capacidad cuando se añaden o eliminan elementos, convirtiéndolo en un array dinámico.

Dominando ArrayList en Java: Operaciones, métodos y mejores prácticas

ArrayList vs. Array

Los arrays tradicionales requieren un tamaño fijo en la declaración, lo que limita la flexibilidad. ArrayList supera esta limitación redimensionando bajo demanda, permitiendo manejo eficiente de datos dinámicos.


Creando un ArrayList

Importa la clase antes de usar:

import java.util.ArrayList;

Instancia con el tipo de elemento deseado:

// Tipo Integer ArrayList ArrayList<Integer> listaInt = new ArrayList<>(); // Tipo String ArrayList ArrayList<String> listaStr = new ArrayList<>();

Nota: Usa clases wrapper (ej. Integer para int) porque los genéricos no soportan tipos primitivos.


Ejemplo: Crear un ArrayList

import java.util.ArrayList; class Main { public static void main(String[] args){ ArrayList<String> lenguajes = new ArrayList<>(); lenguajes.add("Java"); lenguajes.add("Python"); lenguajes.add("Swift"); System.out.println("ArrayList: " + lenguajes); } }

Salida

ArrayList: [Java, Python, Swift]

Operaciones básicas en ArrayList

Operaciones núcleo incluyen agregar, acceder, modificar y eliminar elementos. A continuación snippets concisos para cada una.


1. Agregando elementos

Agregar un solo elemento al final:

ArrayList<String> lenguajes = new ArrayList<>(); lenguajes.add("Java"); lenguajes.add("C"); lenguajes.add("Python"); System.out.println("ArrayList: " + lenguajes);

Salida

ArrayList: [Java, C, Python]

Insertar en un índice específico:

lenguajes.add(1, "JavaScript"); lenguajes.add(3, "C++");

Agregar todos los elementos de una colección:

import java.util.ArrayList; import java.util.HashSet; class Main { public static void main(String[] args) { HashSet<String> vocales = new HashSet<>(); vocales.add("a"); vocales.add("e"); vocales.add("i"); ArrayList<String> alfabeto = new ArrayList<>(); alfabeto.addAll(vocales); System.out.println("ArrayList: " + alfabeto); } }

Salida

ArrayList: [a, e, i]

2. Accediendo a elementos

Recuperar por índice:

ArrayList<String> animales = new ArrayList<>(); animales.add("Gato"); animales.add("Perro"); animales.add("Vaca"); String str = animales.get(1); System.out.print("Elemento en índice 1: " + str);

Salida

Elemento en índice 1: Perro

Iterar con un Iterator si se necesita.


3. Modificando elementos

Reemplazar un elemento existente:

ArrayList<String> lenguajes = new ArrayList<>(); lenguajes.add("Java"); lenguajes.add("Kotlin"); lenguajes.add("C++"); lenguajes.set(2, "JavaScript"); System.out.println("ArrayList modificado: " + lenguajes);

Salida

ArrayList modificado: [Java, Kotlin, JavaScript]

4. Eliminando elementos

Por índice:

ArrayList<String> animales = new ArrayList<>(); animales.add("Perro"); animales.add("Gato"); animales.add("Caballo"); String removido = animales.remove(2); System.out.println("ArrayList actualizado: " + animales); System.out.println("Elemento removido: " + removido);

Salida

ArrayList actualizado: [Perro, Gato] Elemento removido: Caballo

Limpiar todos los elementos con clear() o remover un rango con removeAll().


Métodos comunes de ArrayList

Más allá de operaciones CRUD básicas, los siguientes métodos se usan frecuentemente:

MétodoDescripción
size()Retorna el número de elementos.
sort()Ordena la lista.
clone()Crea una copia superficial.
contains()Verifica presencia de un elemento.
ensureCapacity()Preasigna espacio.
isEmpty()Verifica si la lista está vacía.
indexOf()Encuentra índice de primera ocurrencia.

Para lista completa, refiérete a la API oficial de ArrayList.


Iterando con for‑each

ArrayList<String> animales = new ArrayList<>(); animales.add("Vaca"); animales.add("Gato"); animales.add("Perro"); for (String animal : animales) { System.out.print(animal + ", "); }

Salida

Vaca, Gato, Perro, 

Preguntas frecuentes

¿Cuál es la diferencia entre Java ArrayList y LinkedList?

ArrayListLinkedList
Implementa interfaz ListImplementa List, Queue y Deque
Bloque de memoria contiguo únicoNodos con referencias next/prev
Acceso aleatorio O(1)Acceso secuencial O(n)
Redimensiona dinámicamenteRedimensiona dinámicamente

¿Cómo convertir un ArrayList a array?

String[] arr = new String[lenguajes.size()]; lenguajes.toArray(arr);

¿Cómo convertir un array a ArrayList?

ArrayList<String> lista = new ArrayList<>(Arrays.asList(arr));

¿Cómo crear e inicializar un ArrayList en una línea?

ArrayList<String> lista = new ArrayList<>(Arrays.asList("Java", "Python", "C"));

¿Cómo convertir un ArrayList a String?

String str = lenguajes.toString();

¿Cómo crear un ArrayList usando la interfaz List?

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

Java

  1. Palabra clave final en Java: Variables, métodos y clases
  2. Operador instanceof en Java: Guía completa
  3. Entendiendo las clases anidadas estáticas en Java: Uso, diferencias y ejemplos
  4. Dominando las clases internas anónimas en Java: Definición, sintaxis y ejemplos prácticos
  5. Patrón Singleton en Java explicado: Cómo implementarlo y usarlo de forma segura
  6. Dominando la Reflexión en Java: Inspeccionando clases, métodos y campos en tiempo de ejecución
  7. Entendiendo Java Vector: Uso, Características y Comparación con ArrayList
  8. Dominando los Algoritmos de Colecciones de Java: Ordenación, Mezcla y Más
  9. Dominando ObjectOutputStream de Java: Serialización, Métodos y Ejemplos Prácticos
  10. Dominando Java Generics: Construyendo Código Reutilizable y Type-Safe
  11. Dominando las operaciones de archivos en Java con java.io: creación, lectura, escritura y eliminación