Array de Dos Dimensiones
Antes de entrar en teoría veamos la siguiente tabla:
Este es un ejemplo clásico de lo que es una matriz o un array bidimensional, si nos fijamos tenemos dos coordenadas o posiciones relacionadas a las cuales les vamos a asignar un valor, en el caso de la imagen tenemos las distancias en millas de las ciudades, entonces si estamos en Chicago y nos dirigimos a Boston hay una distancia de 983 millas, si vemos cada vez que se cruzan los índices obtenemos el valor, esto nos facilita la vida al momento de construir este tipo de estructura de datos.
Para lograr este efecto en Java podemos declarar nuestro array con más de una dimensión utilizando lo siguiente:
tipoElemento[][] arrayRefVar;
Ahora si trasladamos esta definición a una asignación en nuestro programa nos quedaría de la siguiente forma:
int[][] matriz;
Donde int es el tipo de datos, los dos pares de corchetes [][] nos indica las dos dimensiones y por último, matriz es el nombre de este elemento dentro del programa. Notamos entonces que esta definición es casi idéntica a declarar un array normal como hemos visto hasta el momento.
Saber la Longitud de una Matriz
Esta operación es bastante común, para saber la longitud debemos entender la matriz, la forma más básica de describirla es diciendo que cada matriz es un array de una dimensión y cada elemento de este array a su vez es otro array, por ello podemos encontrar las dos dimensiones. Para medir entonces su longitud hacemos esto:
Primero debemos encontrar la longitud del índice exterior:
x.length
Luego al saber esto podemos ir buscando en cada índice la longitud del índice interior:
x[0].length
No es tan sencillo de ver, pero una vez que tenemos el concepto aprendido es muy fácil trabajar con esto. Veamos la siguiente imagen que nos ilustra lo que acabamos de explicar:
Nuestro índice exterior es la sección izquierda y nuestro índice interior es la parte superior, entonces tenemos 5 posiciones externas y cada posición externa tiene 5 posiciones internas, con ello si queremos saber la dimensión total de nuestra matriz, es decir, cuántos valores netos podemos almacenar solamente multiplicamos ambos índices, en este caso podemos almacenar 25 valores.
Con esto finalizamos este tutorial, hemos profundizado en un concepto que puede ser un poco complejo para digerir, sin embargo es imperativo ya que este tipo de estructuras son muy utilizadas, sobre todo en las nuevas aplicaciones donde debemos llevar controles de accesos y almacenar valores asociados a usuarios.