Matrizes multidimensionais Java
Matrizes multidimensionais Java
Neste tutorial, aprenderemos sobre o array multidimensional Java usando arrays bidimensionais e arrays tridimensionais com a ajuda de exemplos.
Antes de aprendermos sobre o array multidimensional, certifique-se de conhecer o array Java.
Um array multidimensional é um array de arrays. Cada elemento de um array multidimensional é um array em si. Por exemplo,
int[][] a = new int[3][4];
Aqui, criamos um array multidimensional chamado a . É um array bidimensional, que pode conter no máximo 12 elementos,
Lembre-se, Java usa indexação baseada em zero, ou seja, a indexação de arrays em Java começa com 0 e não com 1.
Vamos dar outro exemplo do array multidimensional. Desta vez estaremos criando um array tridimensional. Por exemplo,
String[][][] data = new String[3][4][2];
Aqui, dados é um array 3d que pode conter no máximo 24 (3*4*2) elementos do tipo
String
. Como inicializar um array 2d em Java?
Aqui está como podemos inicializar um array bidimensional em Java.
int[][] a = {
{1, 2, 3},
{4, 5, 6, 9},
{7},
};
Como podemos ver, cada elemento do array multidimensional é um array em si. E também, diferentemente do C/C++, cada linha do array multidimensional em Java pode ter comprimentos diferentes.
Exemplo:matriz bidimensional
class MultidimensionalArray {
public static void main(String[] args) {
// create a 2d array
int[][] a = {
{1, 2, 3},
{4, 5, 6, 9},
{7},
};
// calculate the length of each row
System.out.println("Length of row 1: " + a[0].length);
System.out.println("Length of row 2: " + a[1].length);
System.out.println("Length of row 3: " + a[2].length);
}
}
Saída :
Length of row 1: 3 Length of row 2: 4 Length of row 3: 1
No exemplo acima, estamos criando um array multidimensional chamado a . Como cada componente de um array multidimensional também é um array (
a[0]
, a[1]
e a[2]
também são matrizes). Aqui, estamos usando o
length
atributo para calcular o comprimento de cada linha. Exemplo:imprimir todos os elementos do array 2d usando Loop
class MultidimensionalArray {
public static void main(String[] args) {
int[][] a = {
{1, -2, 3},
{-4, -5, 6, 9},
{7},
};
for (int i = 0; i < a.length; ++i) {
for(int j = 0; j < a[i].length; ++j) {
System.out.println(a[i][j]);
}
}
}
}
Saída :
1 -2 3 -4 -5 6 9 7
Também podemos usar o loop for...each para acessar elementos do array multidimensional. Por exemplo,
class MultidimensionalArray {
public static void main(String[] args) {
// create a 2d array
int[][] a = {
{1, -2, 3},
{-4, -5, 6, 9},
{7},
};
// first for...each loop access the individual array
// inside the 2d array
for (int[] innerArray: a) {
// second for...each loop access each element inside the row
for(int data: innerArray) {
System.out.println(data);
}
}
}
}
Saída :
1 -2 3 -4 -5 6 9 7
No exemplo acima, criamos um array 2d chamado a . Em seguida, usamos
for
loop e for...each
loop para acessar cada elemento da matriz. Como inicializar um array 3d em Java?
Vamos ver como podemos usar um array 3d em Java. Podemos inicializar um array 3d semelhante ao array 2d. Por exemplo,
// test is a 3d array
int[][][] test = {
{
{1, -2, 3},
{2, 3, 4}
},
{
{-4, -5, 6, 9},
{1},
{2, 3}
}
};
Basicamente, um array 3d é um array de arrays 2d. As linhas de uma matriz 3d também podem variar em comprimento, assim como em uma matriz 2d.
Exemplo:matriz tridimensional
class ThreeArray {
public static void main(String[] args) {
// create a 3d array
int[][][] test = {
{
{1, -2, 3},
{2, 3, 4}
},
{
{-4, -5, 6, 9},
{1},
{2, 3}
}
};
// for..each loop to iterate through elements of 3d array
for (int[][] array2D: test) {
for (int[] array1D: array2D) {
for(int item: array1D) {
System.out.println(item);
}
}
}
}
}
Saída :
1 -2 3 2 3 4 -4 -5 6 9 1 2 3
Java
- Matrizes C#
- Operadores Java
- Copiar Matrizes Java
- Interface Java
- Java try-with-resources
- Anotações Java
- Matrizes em C++ | Declare | Inicializar | Ponteiro para exemplos de matriz
- Alocação dinâmica de matrizes em C++ com exemplo
- Tutorial Java Arrays:Declare, Crie, Inicialize [Exemplo]
- Como criar uma matriz de objetos em Java