1. Una matriz es un contenedor de elementos.

Probablemente haya escuchado que las computadoras pueden procesar grandes cantidades de información. Por supuesto, las sentencias condicionales ( if-else) y los bucles ( for, while) son de gran ayuda aquí. Pero solo pueden llevarte hasta cierto punto. Después de todo, los datos que procesa deben almacenarse de alguna manera.

Como casi todos los lenguajes de programación, Java facilita el procesamiento de datos al proporcionar esta gran cosa llamada matriz ( Arrayclase). A veces también se les llama tablas.

Una matriz es un objeto especial que le permite almacenar no un valor, sino varios .

Matrices de Java

Anteriormente comparamos una variable con un cuadro (en el que puede almacenar cualquier valor). Continuando con esa analogía, podemos pensar en una matriz como una caja que tiene compartimentos internos. Cada compartimento en la "caja" (matriz) tiene un número. Por supuesto, la numeración comienza desde cero...

O podemos hacer otra analogía. Comparemos una casa ordinaria y un edificio de apartamentos de gran altura. Una casa ordinaria está ocupada por una sola familia, pero un edificio de apartamentos de gran altura se divide en apartamentos. Si desea enviar una carta a una familia que vive en una casa común, indique la dirección única de la casa. Y para enviar una carta a una familia que vive en un apartamento, indicas la dirección única del edificio así como el número del apartamento.

Una variable de matriz es como una variable de gran altura. Puede almacenar no uno sino muchos valores. Tal variable tiene varios apartamentos (celdas). Cada uno de ellos puede ser direccionado por su número (índice).

Para ello, después del nombre de la variable, indicas el índice de la celda que quieres direccionar, envolviendo el índice entre corchetes. Esto es bastante simple:

array[index] = value;

Donde arrayes el nombre de la variable de matriz, indexes el número de celda en la matriz y valuees el valor que queremos poner en la celda especificada.

Pero para empezar, veamos cómo crear arreglos.


2. Crear una matriz de elementos en Java

Crear una matriz de elementos en Java

Digamos que su programa necesita almacenar 100números enteros en alguna parte. Una matriz sería un buen candidato para esto. ¿Y cómo se crea uno?

Si quisiéramos almacenar un solo entero, el inttipo nos convendría. Pero si queremos almacenar 100números enteros, probablemente necesitemos una matriz de ints. Así es como se vería el código para crear uno:

int[] array = new int[100];

Exploremos esta afirmación.

Como habrás adivinado, a la izquierda del signo igual tenemos la declaración de una variable llamada arraycuyo tipo es int[]. El inttipo va seguido de corchetes, lo que sugiere que las "cajas" de este tipo pueden almacenar no uno sino varios valores.

A la derecha del signo igual, tenemos un ejemplo de "creación de objetos" (la newpalabra clave) para obtener 100elementos (celdas) cuyo tipo es int. Nada demasiado difícil aquí.

De manera similar, si quisiéramos crear una matriz de 20 celdas para almacenar números reales, nuestro código se vería así:

double[] vals = new double[20];

El número de celdas en una matriz se denomina tamaño de la matriz o longitud de la matriz . Y debido a que las matrices pueden almacenar muchos valores, también se denominan contenedores.

Aquí hay un hecho importante: no puede cambiar el tamaño de una matriz después de crearla .

Puede crear uno nuevo, pero la longitud del contenedor existente no se puede cambiar.



3. Trabajar con las celdas de una matriz

Trabajando con las celdas de una matriz

Bien, hemos aprendido cómo crear arreglos. Ahora, ¿cómo trabajamos con ellos?

Bueno, casi de la misma manera que con las variables ordinarias. La única diferencia es que después del nombre de la variable del array, tenemos que indicar el número de la celda con la que estamos trabajando.

La numeración de celdas en una matriz siempre comienza desde cero. Si tenemos una matriz de 10elementos, entonces los números (índices) de sus celdas son 0..9. Si la matriz contiene 200elementos, entonces los índices son 0..199. Y así sucesivamente por analogía.

Ejemplos:

Código Explicación
int[] a = new int[10];
a[2] = 4;
a[7] = 9;
a[9] = a[2] + a[5];
Crear una matriz de 10 intelementos.
Asigne el valor 4a la celda con índice 2.
Asigne el valor 9a la celda con índice 7.
En la celda con índice 9, escriba la suma de los valores que se almacenan en las celdas 2(que almacena el valor 4) y 5(que almacena el valor 0).

Esto es lo que se almacenará en la memoria después de ejecutar este código:

Trabajando con las celdas de un arreglo int 2

La columna de la izquierda (en gris) representa los números de celda (índices). Las celdas almacenan los valores asignados: 4, 9y 4. Cuando se crea la matriz, todas sus celdas se rellenan con ceros.

Esto es importante. Todas las celdas de una matriz tienen el mismo tipo de datos. Si creamos una matriz de Strings, solo se pueden almacenar cadenas en sus celdas. El tipo de datos de una matriz se especifica cuando se crea. Ni el tipo de datos ni la longitud de la matriz se pueden cambiar más adelante.