Java: usar matrizes com duas dimensões ou mais

Em Java, os elementos de um array pode ser qualquer tipo de objeto que você deseja, incluindo outra matriz. Isto é chamado um matriz bidimensional

- ou (às vezes) um array de arrays.

Bidimensional matrizes

Para declarar uma matriz bidimensional, você simplesmente listar dois conjuntos de colchetes vazios, como este:

números int [] [] -

Aqui, números é uma matriz bi-dimensional de tipo int. Para colocar de outra forma, números é uma matriz de int matrizes.

Para criar a matriz, você pode usar o novo de palavras-chave e fornecer comprimentos para cada conjunto de suportes, como neste exemplo:

números = new int [10] [10] -

Aqui, a primeira dimensão que especifica o números matriz tem 10 elementos. A segunda dimensão especifica que cada um desses elementos é em si uma matriz com 10 elementos.

Para acessar os elementos de uma matriz bidimensional, você usa dois índices. Por exemplo:

int [5] [7] = 23853-

Muitas vezes, aninhado para lacetes são usados ​​para processar os elementos de uma matriz bidimensional, como neste exemplo:

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}}

Você pode usar um inicializador de matriz com uma matriz bidimensional, como neste exemplo:

membros da corda [] [] = {{ "Larry", "Curly", "Moe"}, { "Manny", "Moe", "Jack"}, { "Huey", "Dewey", "Louie"}} {25.483,0, 22943,0, 38274,0, 33.294,0}, // 2005 {24.872,0, 23049,0, 39002,0, 36.888,0}, // 2006 {28.492,0, 23784,0, 42374,0, 39.573,0}, // 2007 {31.932,0, 23732,0, 42943,0, 41.734,0}} - // 2008

Quando você cria uma matriz com uma expressão - como novo int [5] [3] - você está especificando que cada elemento da matriz principal é, na verdade, uma matriz do tipo int com três elementos. Java, no entanto, permite a criação de matrizes bidimensionais, em que o comprimento de cada elemento da matriz principal é diferente. Às vezes, isso é chamado de matriz irregulares porque a matriz não forma um bom retângulo. Em vez disso, suas bordas são irregulares.

Matrizes com mais do que duas dimensões

Java não limitá-lo a matrizes bidimensionais. Arrays podem ser aninhados dentro de matrizes para tantos níveis quanto o seu programa precisa. Para declarar uma matriz com mais de duas dimensões, você só especificar quantos conjuntos de colchetes vazios como você precisa. Por exemplo:

int [] [] [] Threed = new int [3] [3] [3] -

Aqui, uma matriz tridimensional é criado, com cada dimensão tem três elementos. Você pode pensar desta matriz como um cubo. Cada elemento requer três índices de acesso.

Você pode acessar um elemento em uma matriz multidimensional, indicando, conforme muitos índices como as necessidades da matriz. Por exemplo:

Threed [0] [1] [2] = 100-

Este elemento conjuntos de instrução 2 na coluna 1 da linha de 0 a 100.

Você pode initializers ninho tão profundo quanto necessário, também. Por exemplo:

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}}} -

Aqui, uma matriz tridimensional é inicializado com os números 1 através 27.

Você também pode usar múltiplos aninhada E se declarações para processar uma matriz com três ou mais dimensões. Aqui está outra maneira de inicializar uma matriz tridimensional com os números 1 para 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 ++) para (int k = 0- K lt; 3- k ++) threeD2 [i] [j] [k] = valor ++ -

menu