Introdução à matriz multidimensional em Java
Um guia completo sobre Multidimensional Array em Java. Uma matriz é uma estrutura de dados homogênea que é uma coleção de elementos com um tipo de dados semelhante. Eles são armazenados no local da memória contígua. Na matriz, o primeiro elemento é armazenado no índice 0, o segundo elemento é armazenado no índice 1 e assim por diante. As matrizes podem ter uma dimensão única ou multidimensional. Neste documento, examinaremos matrizes multidimensionais em Java. Uma matriz multidimensional é uma matriz de matrizes que pode conter mais de uma linha e coluna. Agora, vamos ver a sintaxe e a implementação da matriz multidimensional nas seções a seguir.
Sintaxe:
data_type(dimension 1)(dimension 2)()…(dimension n) array_name= new data_type(size 1)(size 2)…(size n)
- data_type : tipo de dados da matriz, Exemplo: int, char, float, etc
- dimensão : a dimensão da matriz, Exemplo: 1D, 2D, etc.
- array_name : nome da matriz.
- tamanho1, tamanho2, …, tamanhoN : tamanhos da dimensão.
Tipos de matriz multidimensional em Java
As Matrizes Multidimensionais mais comuns em Java são:
- Matriz bidimensional ou matriz 2D.
- Matriz tridimensional ou matriz 3D.
1. Matriz bidimensional
Matrizes 2D são comumente usadas em videogames de plataforma como Super Mario para representar terreno ou tela. Eles também podem ser usados para desenhar tabuleiros de xadrez, representando estruturas como uma planilha etc.
Código :
int()() array1 = new int(2)(2);//Two dimensional Integer Array with 2 rows and 2 columns
Exemplo :
9 10
7 66
Esta é uma matriz 2D com duas linhas e duas colunas.
2. Matriz Tridimensional
Matrizes tridimensionais não são comumente usadas em aplicativos em tempo real. Portanto, matrizes bidimensionais também recebem mais preferência em exemplos de programação.
Código :
int()()() array2 = new int(12)(24)(36); //Three dimensional Array
Exemplo :
6 8 66
66 65 47
46 89 98
Como declarar uma matriz multidimensional em Java?
É fácil entender a Matriz Multidimensional em Java se as matrizes normais forem conhecidas. Matrizes multidimensionais podem ser declaradas como mostrado abaixo:
Primeiro, vamos ver a declaração de matrizes 2D:
- int () () matriz1 = nova int (2) (2); // Matriz inteira bidimensional com 2 linhas e 2 colunas.
- String () () array1 = new String (2) (2); // Conjunto de strings bidimensionais com 2 linhas e 2 colunas.
- char () () array1 = novo char (2) (2); // Caractere bidimensional Matriz com 2 linhas e 2 colunas.
- boolean () () array1 = novo boolean (2) (2); // Matriz booleana bidimensional com 2 linhas e 2 colunas.
- double () () array1 = novo double (2) (2); // Matriz dupla bidimensional com 2 linhas e 2 colunas.
- float () () array1 = novo float (2) (2); // Matriz flutuante bidimensional com 2 linhas e 2 colunas.
- long () () array1 = novo long (2) (2); // Matriz longa bidimensional com 2 linhas e 2 colunas.
- short () () array1 = novo short (2) (2); // Matriz curta bidimensional com 2 linhas e 2 colunas.
- byte () () array1 = novo byte (2) (2); // Matriz de bytes bidimensional com 2 linhas e 2 colunas.
Certifique-se de que a declaração adequada seja criada durante a programação em Java.
Exemplo 1
Código:
//Java Program to demonstrate the multidimensional 2D array
public class MultidimensionalArray (
public static void main(String args())(
//2D array a is declared and initialized
int a()()=((2, 2, 3), (8, 4, 5), (9, 4, 5));
//Print the array elements
for(int i=0;i<3;i++)(
for(int j=0;j<3;j++)(
System.out.print(a(i)(j)+" ");
)
System.out.println();
)
))
Resultado:
A declaração da matriz tridimensional pode ser discutida.
- int () () () matriz2 = nova int (12) (24) (36); // Matriz tridimensional
Essas matrizes podem ser de qualquer tipo de dados. Abaixo estão algumas das matrizes tridimensionais com diferentes tipos de dados.
- int () () () IntArray; // declarando uma matriz tridimensional de números inteiros.
- byte () () () ByteArray; // declarando uma matriz tridimensional de bytes.
- short () () () ShortArray; // declarando uma matriz tridimensional de Shorts.
- long () () () LongArray; // declarando uma matriz tridimensional de Longs.
- float () () () FloatArray; // declarando uma matriz tridimensional de flutuadores.
- double () () () DoubleArray; // declarando uma matriz tridimensional de Doubles.
- boolean () () () BooleanArray; // declarando uma matriz tridimensional de booleanos.
- char () () () CharArray; // declarando uma matriz tridimensional de caracteres.
- String () () () StringArray; // declarando uma matriz tridimensional de Strings.
Exemplo 2
Código:
//Java Program to demonstrate the multidimensional array
public class MultidimensionalArray (
//main method
public static void main(String() args) (
//3D array arr
int()()() arr = ( ( ( 1, -9, 3 ), ( 2, 7, 4 ) ), ( ( -45, -5, 6, 75 ), ( 88 ), ( 29, 30 ) ) );
// for..each loop to iterate through the elements of the 3d array arr
for (int()() ar: arr) (
for (int() a: ar) (
for(int finalarray: a) (
System.out.println(finalarray);
)
)
)
)
)
Resultado:
Como inicializar a matriz multidimensional em Java?
Matrizes multidimensionais podem ser inicializadas de várias maneiras:
1. Declarar e criar uma matriz multidimensional Java
- int () () () a = novo int (3) (5) (4);
De uma maneira mais tradicional, Inicializando elementos da Matriz pode ser o seguinte.
- a (0) (1) (0) = 15; // Inicializando elementos da matriz na posição (0) (1) (0)
- a (1) (2) (0) = 45; // Inicializando elementos da matriz na posição (1) (2) (0)
- a (2) (1) (1) = 65; // Inicializando elementos da matriz na posição (2) (1) (1)
2. Especifique diretamente os elementos
int()()() a = ( ( ( 11, 23, 30 ), ( 5, 65, 70 ), ( 0, 80, 10 ), ( 10, 12, 450 ) ), ( ( 33, 2, 4 ), (11, 66, 6), (55, 11, 22), (11, 57, 43) ) );
Nesse caso, mesmo que o tamanho das linhas e colunas não seja mencionado, o compilador java é capaz de identificar o tamanho das linhas e colunas contando o número de elementos.
3. Aninhado para loop
No caso de armazenar um grande número de elementos, o Nested For Loop pode ser usado como mostrado abaixo:
int i, j, k;
for(i = 0; i < 2; i++) (
for(j = 0; j < 3; j++) (
for(k = 0; k < 4; k++) (
a(i)(j)(k) = i + j + k;) ) )
4. Atribuindo valores a uma linha
int a= new int(3)(2)(4);
a(0)(2)(1)= 33;
a(0)(1)(2)= 73;
a(0)(1)(1)= 88;
Uma matriz tridimensional de tamanho 3 níveis * 2 linhas * 4 colunas é criada, mas os valores são atribuídos apenas a algumas posições. Como nenhum dos outros elementos possui nenhum valor atribuído, os valores padrão serão atribuídos.
Operações em matrizes multidimensionais
Matriz multidimensional em Java pode executar várias operações.
Exemplo 1
Vamos ver a adição matricial de duas matrizes.
Código:
import java.util.*;
//Java Program to demonstrate the multidimensional array
public class MultidimensionalArray (
//main method
public static void main(String args())
(
int row, col, c, d;
//input the number of rows and columns
Scanner in = new Scanner(System.in);
System.out.println("Enter the number of rows of matrix");
row = in.nextInt();
System.out.println("Enter the number of columns of matrix");
col = in.nextInt();
//initialization of two matrices and sum matrix
int firstmat()() = new int(row)(col);
int secondmat()() = new int(row)(col);
int summat()() = new int(row)(col);
//adding elements to first matrix
System.out.println("Enter the elements to be added to the first matrix");
for (c = 0; c < row; c++)
for (d = 0; d < col; d++)
firstmat(c)(d) = in.nextInt();
//adding elements to second matrix
System.out.println("Enter the elements to be added to the second matrix");
for (c = 0 ; c < row ; c++)
for (d = 0 ; d < col ; d++)
secondmat(c)(d) = in.nextInt();
//sum of the two matrices
for (c = 0; c < row; c++)
for (d = 0; d < col; d++)
summat(c)(d) = firstmat(c)(d) + secondmat(c)(d);
System.out.println("Sum of the two given matrices is:");
//printing the sum matrix
for (c = 0; c < row; c++)
(
for (d = 0; d < col; d++)
System.out.print(summat(c)(d)+"\t");
System.out.println();
)
)
)
Resultado:
Se a subtração precisar ser executada, substitua '+' por '-' no código.
Exemplo 2
Vamos ver como funciona a multiplicação de matrizes.
Código:
import java.util.*;
//Java Program to perform matrix multiplication
public class MultidimensionalArray (
//main method
static int N = 4;
// multiply matrices a and b, and then stores the result in c
static void mul(int a()(),
int b()(), int c()())
(
int i, j, k;
for (i = 0; i < N; i++)
(
for (j = 0; j < N; j++)
(
c(i)(j) = 0;
for (k = 0; k < N; k++)
c(i)(j) += a(i)(k) * b(k)(j); //multiply a and b matrices
)
)
)
//main method
public static void main (String() args)
(
int a()() = ( (9, 7, 2, 3),
(9, 7, 2, 3),
(4, 13, 32, 2),
(9, 7, 2, 3));
int b()() = (( 9, 7, 2, 3), (9, 7, 2, 3),
(9, 7, 2, 3),
(4, 13, 32, 2));
// Store the result in c
int c()() = new int(N)(N) ;
int i, j;
mul(a, b, c); //calling the mul method
System.out.println("Multiplication result matrix" + " is ");
for (i = 0; i < N; i++)
(
for (j = 0; j < N; j++)
System.out.print( c(i)(j) + " ");
System.out.println();
)
)
)
Resultado:
Conclusão
Matrizes são estruturas de dados homogêneas que podem armazenar tipos semelhantes de elementos. Pode ser unidimensional ou multidimensional. Neste documento, matrizes multidimensionais são discutidas com a explicação da estrutura de sintaxe, inicialização, etc.
Artigos recomendados
Este é um guia para Matriz Multidimensional em Java. Aqui discutimos 2 tipos de array multidimensional em java, como declarar, como inicializar e operar em seu. Você também pode consultar nossos outros artigos relacionados para saber mais -
- Matriz multidimensional em C
- Matrizes 2D em Java
- Matrizes 2D em C #
- Booleanos PHP
- Gráficos 2D em Java
- Matriz multidimensional em PHP
- Matrizes multidimensionais em C ++ com exemplos
- 3 tipos diferentes de matrizes em PHP (exemplos)
- Matrizes na estrutura de dados
- O que é uma matriz de string?
- Como o Array funciona no Unix com sintaxe?