Arrays en Java
Aprende a trabajar con colecciones de datos organizados
¿Qué es un Array?
Un array es como un estante
Un array es una estructura de datos que almacena múltiples valores del MISMO tipo en posiciones contiguas de memoria.
Características de los Arrays:
Tamaño Fijo
Una vez creado, no se puede cambiar su tamaño
Índices Numéricos
Acceso a elementos mediante índices (0 a n-1)
Memoria Contigua
Todos los elementos se almacenan juntos en memoria
Acceso Rápido
Acceso directo a cualquier posición en tiempo constante
Tipos de Arrays
Array Unidimensional
1 DimensiónDescripción
Lista de elementos del mismo tipo, accesibles mediante un único índice.
Declaración y Uso
Declaración:
// Tres formas de declarar arrays
int[] numeros1; // Declaración
int numeros2[]; // Forma alternativa
int[] numeros3 = new int[5]; // Declaración + creación
Inicialización:
// Inicialización directa
int[] numeros = {10, 20, 30, 40, 50};
// Inicialización por elemento
int[] edades = new int[3];
edades[0] = 25;
edades[1] = 30;
edades[2] = 35;
Acceso a elementos:
int[] numeros = {10, 20, 30, 40, 50};
int primerElemento = numeros[0]; // 10
int ultimoElemento = numeros[4]; // 50
// Modificar elemento
numeros[2] = 100; // Cambia 30 por 100
Array Multidimensional
2 o más DimensionesDescripción
Array de arrays. Comúnmente usado para matrices y tablas.
Ejemplos de Uso
Matriz 2x3:
// Declaración e inicialización
int[][] matriz = {
{1, 2, 3}, // Fila 0
{4, 5, 6} // Fila 1
};
// Acceso a elementos
int elemento = matriz[1][2]; // 6 (fila 1, columna 2)
Tabla de Temperaturas:
// Temperaturas por día y hora
double[][] temperaturas = new double[7][24];
// Llenar datos
temperaturas[0][8] = 22.5; // Lunes, 8am
temperaturas[2][14] = 28.3; // Miércoles, 2pm
Constructor de Arrays
Configura tu Array
Vista Previa del Array
Configura y genera tu array
Código Java Generado:
// Tu código aparecerá aquí
Operaciones Comunes con Arrays
numeros[2]
Acceso a Elementos
Los elementos de un array se acceden mediante su índice. Los índices comienzan en 0.
int[] numeros = {10, 20, 30, 40, 50};
// Acceso por índice
int primer = numeros[0]; // 10
int tercero = numeros[2]; // 30
int ultimo = numeros[4]; // 50
// Índice fuera de rango causa error
// int error = numeros[5]; // ArrayIndexOutOfBoundsException
¡Cuidado! Intentar acceder a un índice fuera del rango (negativo o mayor/igual al tamaño) causa ArrayIndexOutOfBoundsException.
for (int i = 0; i < numeros.length; i++) {
System.out.println(numeros[i]);
}
Iteración sobre Arrays
Hay varias formas de recorrer un array:
1. Bucle for clásico
int[] numeros = {10, 20, 30, 40, 50};
for (int i = 0; i < numeros.length; i++) {
System.out.println(numeros[i]);
}
2. Bucle for-each
int[] numeros = {10, 20, 30, 40, 50};
for (int numero : numeros) {
System.out.println(numero);
}
3. Bucle while
int[] numeros = {10, 20, 30, 40, 50};
int i = 0;
while (i < numeros.length) {
System.out.println(numeros[i]);
i++;
}
Algoritmos con Arrays
Suma de Elementos
Calcula la suma de todos los elementos
Elemento Máximo
Encuentra el valor más grande
Promedio
Calcula el valor promedio
Invertir Array
Revierte el orden de elementos
Ordenamiento Burbuja
Ordena elementos de menor a mayor
Búsqueda Binaria
Busca en arrays ordenados
Suma de Elementos
Resultado:
Implementación en Java:
// Código del algoritmo aparecerá aquí
Array vs ArrayList
Array
ArrayList
int[] numeros = new int[10];
ArrayList<Integer> numeros = new ArrayList<>();
No cambia después de la creación
Crece automáticamente cuando es necesario
numeros[0] = 10; // Índice específico
numeros.add(10); // Al final
Requiere crear nuevo array
numeros.remove(0); // Por índice
Acceso directo por índice O(1)
Ligera sobrecarga por ser objeto
Solo almacena los datos
Almacena datos + metadatos
Conversión entre Array y ArrayList
String[] array = {"A", "B", "C"};
ArrayList<String> lista = new ArrayList<>(Arrays.asList(array));
ArrayList<String> lista = new ArrayList<>();
lista.add("X"); lista.add("Y"); lista.add("Z");
String[] array = lista.toArray(new String[0]);
Ejercicios Prácticos
Calculadora de Notas
Crea un programa que calcule el promedio de notas de un estudiante.
Requisitos:
- Crear un array de 5 notas (double)
- Calcular la suma de todas las notas
- Calcular el promedio
- Mostrar todas las notas y el resultado
Salida esperada:
Notas: [7.5, 8.0, 6.5, 9.0, 7.0] Suma: 38.0 Promedio: 7.6
Ejecuta tu código para ver la salida
Juego: Ordena el Array
Ordena los números de menor a mayor
Arrastra los números para ordenarlos correctamente.
Algoritmo de Ordenamiento Burbuja
Este es el algoritmo que debes imitar:
Test de Conocimientos
¿Cuál es el índice del primer elemento en un array?
Resumen y Recursos
Lo que aprendiste
- Qué son los arrays y cómo funcionan
- Declaración e inicialización de arrays
- Arrays unidimensionales y multidimensionales
- Operaciones comunes con arrays
- Algoritmos básicos con arrays
- Diferencias entre Array y ArrayList
Errores Comunes
- ArrayIndexOutOfBoundsException
- Olvidar inicializar el array
- Confundir array.length con array.length()
- Intentar cambiar el tamaño de un array
- No usar Arrays.toString() para imprimir
Consejos Prácticos
- Usa for-each cuando no necesites índices
- Arrays.sort() para ordenar fácilmente
- Arrays.copyOf() para copiar arrays
- Usa ArrayList cuando el tamaño sea variable
- Documenta arrays complejos con comentarios
Referencia Rápida
Declaración
tipo[] nombre = new tipo[tamaño];
tipo[] nombre = {val1, val2, val3};
Acceso
elemento = array[indice];
array[indice] = nuevoValor;
Iteración
for (int i = 0; i < array.length; i++)
for (tipo elemento : array)
Utilidades
Arrays.sort(array);
Arrays.toString(array);
Arrays.copyOf(array, tamaño);