Índice:
Vídeo: Curso de Java - Aula 53 - Arrays Multidimensionais - eXcript 2024
Em Java, os elementos de uma matriz podem ser qualquer tipo de objeto que você deseja, incluindo outra matriz. Isso é chamado de uma matriz bidimensional - ou (às vezes) uma matriz de arrays .
Arrays bidimensionais
Para declarar uma matriz bidimensional, você simplesmente lista dois conjuntos de suportes vazios, como este:
int numbers [] [];
Aqui, os números são uma matriz bidimensional de tipo int. Para dizer de outra forma, os números são uma série de matrizes de int.
Para criar a matriz, você usa a nova palavra-chave e fornece comprimentos para cada conjunto de suportes, como neste exemplo:
numbers = new int [10] [10];
Aqui, a primeira dimensão especifica que a matriz de números possui 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, aninhados para loops são usados para processar os elementos de uma matriz bidimensional, como neste exemplo:
para (int x = 0; x <10; x ++) {for (int y = 0; y <10; y ++) {numbers [x] [y] = (int) (Math. random () * 100) + 1}}
Você pode usar um inicializador de matriz com uma matriz bidimensional, como neste exemplo:
membros de string [] [] = {{"Larry", "Curly", "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
Quando você cria uma matriz com uma expressão - como o novo int [5] [3] - você está especificando que cada elemento da matriz principal é na verdade uma matriz de tipo int com três elementos. Java, no entanto, permite criar matrizes bidimensionais nas quais o comprimento de cada elemento da matriz principal é diferente. Às vezes, isso é chamado de uma matriz irregulares porque a matriz não forma um retângulo agradável. Em vez disso, suas bordas são irregulares.
Arrays com mais de duas dimensões
O Java não o limita a arrays bidimensionais. Arrays podem ser aninhados dentro de arrays a tantos níveis como o seu programa precisa. Para declarar uma matriz com mais de duas dimensões, você apenas especifica tantos conjuntos de suportes vazios quanto você precisa. Por exemplo:
int [] [] [] trêsD = novo int [3] [3] [3];
Aqui, é criada uma matriz tridimensional, com cada dimensão tendo três elementos. Você pode pensar nesta matriz como um cubo. Cada elemento requer três índices para acessar.
Você pode acessar um elemento em uma matriz multidimensional especificando tantos índices quanto a matriz precisa.Por exemplo:
tresD [0] [1] [2] = 100;
Esta declaração define o elemento 2 na coluna 1 da linha 0 a 100.
Você pode aninhar inicializações tão profundamente 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 é inicializada com os números 1 a 27.
Você também pode usar várias instruções if aninhadas 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 a 27:
int [] [] [] threeD2 = new int [3] [3] [3]; valor int = 1; para (int i = 0; i