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 -

  1. Matriz multidimensional em C
  2. Matrizes 2D em Java
  3. Matrizes 2D em C #
  4. Booleanos PHP
  5. Gráficos 2D em Java
  6. Matriz multidimensional em PHP
  7. Matrizes multidimensionais em C ++ com exemplos
  8. 3 tipos diferentes de matrizes em PHP (exemplos)
  9. Matrizes na estrutura de dados
  10. O que é uma matriz de string?
  11. Como o Array funciona no Unix com sintaxe?