Java: uso matrices con dos o más dimensiones
En Java, los elementos de una matriz pueden ser cualquier tipo de objeto que desee, incluyendo otra matriz. Esto se llama una matriz bidimensional - o (a veces) una matriz de matrices.
Bidimensional arrays
Para declarar una matriz bidimensional, sólo tiene que lista dos pares de corchetes vacíos, como este:
números int [] [] -
Aquí, números es una matriz bidimensional de tipo int. Ponerlo de otra forma, números es una matriz de int matrices.
Para crear la matriz, se utiliza el nuevo de palabras clave y proporcionar longitudes para cada conjunto de soportes, como en este ejemplo:
números = new int [10] [10] -
Aquí, la primera dimensión especifica que el números matriz tiene 10 elementos. La segunda dimensión se especifica que cada uno de esos elementos es en sí mismo una matriz con 10 elementos.
Para acceder a los elementos de una matriz de dos dimensiones, se utilizan dos índices. Por ejemplo:
int [5] [7] = 23853-
A menudo, anidado para bucles se utilizan para procesar los elementos de una matriz de dos dimensiones, como en este ejemplo:
for (int x = 0- x lt; 10- x ++) {for (int y = 0- y lt; 10- Y ++) {números [x] [y] = (int) (Math.random () * 100) + 1}}
Puede utilizar un inicializador matriz con una matriz de dos dimensiones, como en este ejemplo:
miembros de cadena [] [] = {{"Larry", "Rizado", "Moe" }, {"Manny", "Moe", "Jack"}, {"Huey", "Dewey", "Louie"}} {25483.0, 22943.0, 38274.0, 33294.0}, {// 2005 24872.0, 23049.0, 39002.0, 36888.0}, {// 2006 28492.0, 23784.0, 42374.0, 39573.0}, {// 2007 31932.0, 23732.0, 42943.0, 41734.0} } - // 2008
Cuando se crea una matriz con una expresión - como new int [5] [3] - se especificará la que cada elemento de la matriz principal es en realidad una matriz de tipo int con tres elementos. Java, sin embargo, le permite crear matrices bidimensionales en los que la longitud de cada elemento de la matriz principal es diferente. A veces, esto se llama una matriz escalonada porque la matriz no se forma un buen rectángulo. En cambio, sus bordes son irregulares.
Video: Curso Java Arrays III. Arrays bidimensionales. Vídeo 25
Arrays con más de dos dimensiones
Java no lo limita a matrices bidimensionales. Las matrices se pueden anidar en las matrices a tantos niveles como las necesidades de su programa. Para declarar una matriz con más de dos dimensiones, que acaba de especificar tantos pares de corchetes vacíos como sea necesario. Por ejemplo:
Video: aplicacion Matrices netbeans java aplicacion + source
int [] [] [] ThreeD = new int [3] [3] [3] -
Aquí, se crea una matriz tridimensional, con cada dimensión que tiene tres elementos. Se puede pensar en esta matriz como un cubo. Cada elemento requiere tres índices de acceso.
Se puede acceder a un elemento en una matriz multidimensional especificando tantos índices como las necesidades de la matriz. Por ejemplo:
ThreeD [0] [1] [2] = 100-
Este elemento de comandos actualizan 2 en la columna 1 de la fila 0 a 100.
Puede inicializadores nido tan profundo como sea necesario, también. Por ejemplo:
int [] [] [] ThreeD = {{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}, {{10, 11, 12}, {13, 14, 15}, {16, 17, 18}}, {{19, 20, 21}, {22, 23, 24}, {25, 26, 27}}} -
Aquí, una matriz tridimensional se inicializa con los números 1 mediante 27.
También puede utilizar múltiples anidado Si declaraciones para procesar una matriz con tres o más dimensiones. Aquí hay otra manera para inicializar una matriz tridimensional con los números 1 a 27:
int [] [] [] threeD2 = new int [3] [3] [3] valor -INT = 1-for (int i = 0- i lt; 3- i ++) for (int j = 0- j lt; 3- j ++) for (int k = 0- k lt; 3- k ++) threeD2 [i] [j] [k] = valor ++ -