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 ( Array
clase). A veces también se les llama tablas.
Una matriz es un objeto especial que le permite almacenar no un valor, sino varios .
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 array
es el nombre de la variable de matriz, index
es el número de celda en la matriz y value
es 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
Digamos que su programa necesita almacenar 100
nú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 int
tipo nos convendría. Pero si queremos almacenar 100
números enteros, probablemente necesitemos una matriz de int
s. 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 array
cuyo tipo es int[]
. El int
tipo 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 new
palabra clave) para obtener 100
elementos (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
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 10
elementos, entonces los números (índices) de sus celdas son 0..9
. Si la matriz contiene 200
elementos, entonces los índices son 0..199
. Y así sucesivamente por analogía.
Ejemplos:
Código | Explicación |
---|---|
|
Crear una matriz de 10 int elementos. Asigne el valor 4 a la celda con índice 2 . Asigne el valor 9 a 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:
La columna de la izquierda (en gris) representa los números de celda (índices). Las celdas almacenan los valores asignados: 4
, 9
y 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 String
s, 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.
GO TO FULL VERSION