Arrays y Colecciones en Java: Guía completa para principiantes — parte 1
El estudio de Java es imposible sin entender cómo almacenar y gestionar grupos de datos. En este artículo analizaremos dos temas fundamentales: arrays y colecciones. Esta es la primera parte de una guía completa, ideal para aprender desde cero y que ayudará a sistematizar conocimientos de programación en Java.
¿Qué son los arrays en Java?
Un array es una estructura de datos de longitud fija que almacena elementos de un mismo tipo. Los arrays son la base de Java para principiantes, ya que son simples y rápidos. Sin embargo, su principal desventaja es que el tamaño no se puede modificar después de su creación.
Declaración e inicialización de un array
En Java, un array se declara usando corchetes. Aquí está la sintaxis básica:
int[] numbers = new int[5]; // array de 5 números enterosString[] names = {"Ana", "Boris", "Víctor"}; // inicialización literalAcceso a elementos y longitud del array
La indexación comienza en 0. La longitud del array se almacena en la propiedad length:
int first = numbers[0];int size = numbers.length; // 5Bucles para trabajar con arrays
Para recorrer los elementos es conveniente usar for o for-each:
for (int i = 0; i < numbers.length; i++) { System.out.println(numbers[i]);}
for (int num : numbers) { System.out.println(num);}Arrays multidimensionales
Java admite arrays de arrays. Por ejemplo, un array bidimensional es una tabla:
int[][] matrix = new int[3][4]; // 3 filas, 4 columnasmatrix[1][2] = 42;Los arrays multidimensionales son útiles para matrices, tableros de juego e imágenes.
Colecciones en Java: una alternativa flexible
Las colecciones son estructuras de datos dinámicas del Java Collections Framework (JCF). Resuelven el principal problema de los arrays: se expanden y contraen automáticamente. Para la programación en Java, las colecciones son imprescindibles.
Interfaces principales de colecciones
- List — lista ordenada con duplicados (ArrayList, LinkedList).
- Set — conjunto sin duplicados (HashSet, TreeSet).
- Map — diccionario: clave → valor (HashMap, TreeMap).
ArrayList: array dinámico
El tipo de colección más popular. Ejemplo de uso:
import java.util.ArrayList;
ArrayList<String> list = new ArrayList<>();list.add("Java");list.add("Python");list.add("C++");System.out.println(list.get(0)); // JavaSystem.out.println(list.size()); // 3HashSet: elementos únicos
Use Set cuando necesite eliminar duplicados:
import java.util.HashSet;
HashSet<Integer> set = new HashSet<>();set.add(10);set.add(20);set.add(10); // no se añadiráSystem.out.println(set.size()); // 2HashMap: pares clave-valor
Ideal para búsquedas rápidas:
import java.util.HashMap;
HashMap<String, Integer> map = new HashMap<>();map.put("Alice", 25);map.put("Bob", 30);System.out.println(map.get("Alice")); // 25¿Cuándo usar arrays y cuándo colecciones?
La elección depende de la tarea:
- Arrays — si el tamaño es fijo, se necesita el máximo rendimiento o se trabaja con tipos primitivos.
- Colecciones — si los datos cambian dinámicamente, se necesita unicidad, ordenación o búsqueda por clave.
Para aprender Java se recomienda comenzar con arrays y luego pasar a las colecciones.
Ejemplo: combinación de arrays y colecciones
Consideremos una tarea: convertir un array en una lista y viceversa