Introdução às matrizes 3D em Java

Antes de entender as matrizes 3D em Java, devemos saber qual é a matriz e por que é usada em linguagens de programação? Matrizes são basicamente um grupo de tipos semelhantes de valores que são referidos pelo mesmo nome. Por tipo semelhante, queremos dizer os valores do mesmo tipo de dados. Considere uma situação em que queremos armazenar os nomes de todos os alunos de uma turma. Como o nome de Student é do tipo de dados String, seria incorreto armazenar o nome de cada aluno em uma variável diferente, pois não apenas ocuparia muito espaço, mas também cria confusão em um programa, aumentando quase o mesmo linhas de código. Portanto, para lidar com esses tipos de situações, matrizes são usadas. O programador pode criar uma matriz de Student_names e especificar o tamanho dela no momento da criação do objeto da matriz. Dessa forma, não haveria necessidade de especificar o nome da variável para cada nome de aluno e sempre que desejamos atualizar, inserir e recuperar os valores, os índices dessa matriz podem ser usados.

Em Java, uma variável de matriz é declarada semelhante às outras variáveis ​​com sinal () após o tipo de dados. O tamanho da matriz precisa ser definido no momento da criação da matriz e permanece constante. Os elementos da matriz são acessados ​​pelos índices numéricos com o primeiro elemento armazenado nos índices 0. Existem basicamente dois tipos de matrizes em Java, ou seja, matrizes unidimensionais e multidimensionais. Matrizes 3D se enquadram na categoria de matrizes multidimensionais. Matrizes multidimensionais em palavras simples podem ser definidas como uma matriz de matrizes e matrizes 3D são uma matriz de matrizes 2D. 3D é uma forma complexa de matrizes multidimensionais. Considere um cenário de apartamentos em um edifício. Suponha que existam 10 andares no apartamento e cada andar tenha 5 apartamentos e cada apartamento tenha 3 quartos. Para manipular esses dados na programação, matrizes 3D são usadas.

Como as matrizes 3D são definidas em Java?

Java usa uma maneira muito simples de definir as matrizes. Colchetes ('()') são usados ​​para definir o objeto da matriz após o tipo de dados da matriz. É preciso definir o tamanho no momento da declaração da matriz. As matrizes 3D são definidas com três colchetes. Abaixo é apresentada a sintaxe de definição das matrizes 3D em Java:

Data_type array_name( ) ( ) ( ) = new array_name(a)(b)(c);

  • Aqui data_type: tipo de dados dos elementos que serão armazenados na matriz. array_name: nome da matriz
  • novo: palavra-chave para criar um objeto em Java
  • a, b, c: mantém os valores numéricos para as várias dimensões.

Sintaxe:

int ( ) ( ) ( ) arr = new int (10)(4)(3);

No exemplo acima, pode haver no máximo 10x4x3 = 120 elementos armazenados pela matriz 'arr'.

Como criar matrizes 3D e inserir valores nelas em Java?

Criar matrizes 3D em Java é tão simples quanto criar matrizes 1D e 2D. Como mencionado acima, é importante definir o tamanho de uma matriz no momento da declaração. A criação de matrizes 3D envolve mais uma etapa da passagem / inserção de valores neles na forma de uma matriz de matrizes 2D. Podemos definir o tamanho de uma matriz e inserir / inserir os valores posteriormente ou podemos passar diretamente os valores em uma matriz. Portanto, a maneira de valor definida nas matrizes 3D é fornecida abaixo:

Sintaxe

data_type()()() arr_name =
(
(
(Array1Row1Col1, Array1Row1Col2, ….),
(Array1Row2Col1, Array1Row2Col2, ….)
),
(
(Array2Row1Col1, Array2Row1Col2, ….),
(Array2Row2Col1, Array2Row2Col2, ….)
)
)

Código

int num_array ( ) ( ) ( ) = (
(
(10, 20, 99),
(30, 40, 88)
),
(
(50, 60, 77),
(80, 70, 66)
),
);

As matrizes estão dentro de uma matriz e, portanto, é chamada de matriz de matrizes 2D. No exemplo acima, se o vermos claramente, existem duas matrizes 2D de números e esse 2D.

Como inicializar elementos de matrizes 3D em Java?

Como mencionado acima, inicializar toda a matriz de uma só vez é uma prática recomendada ao trabalhar com matrizes 3D, pois reduz as chances de confusão para futuras programações. Embora também possamos atribuir um valor por vez em uma matriz, o que pode ser feito da maneira mencionada abaixo:

Sintaxe:

int employee_arr( ) ( ) ( ) = new int (10)(3)(3);
employee_arr(0)(0)(0) = 100; // it will assign value 100 at very first element of employee_arr employee_arr(0)(0)(1) = 200; // it will assign value 200 at second element of employee_arr employee_arr(0)(0)(2) = 300; // it will assign value 100 at third element of employee_arr

A abordagem acima é cansativa e não é considerada uma boa abordagem, pois ocupa muito espaço e aumenta as linhas de código. Há também uma abordagem usando os loops que são considerados uma boa prática ao trabalhar com matrizes 3D.

Sintaxe:

int Student_arr ( ) ( ) ( ) = new arr (2) (3) (4); int x, y, z, value;
for(x = 0; x< 2; x++) (
for(y = 0; y< 3; y++) (
for(z = 0; z< 4; z++) (
Student_arr(x)(y)(z) = value; value= value*2;
)
)
)

No exemplo acima, todos os elementos da matriz são inseridos usando os loops em que x = não. de tabelas, y = número total de linhas e z indica o número total de colunas em uma matriz 3D denominada Student_arr.

Como acessar elementos de matrizes 3D em Java?

Em Java, porém, podemos acessar o elemento único da matriz usando os índices, pois os inicializamos por índices semelhantes ao fornecido abaixo:

Sintaxe:

int arr ( ) ( ) ( ) = new arr (3) (3) (3);
// Accessing the array elements of 3D arrays in Java using indices

Sintaxe:

System.out.println(“The first element of array is” + arr(0)(0)(0));

Na sintaxe acima, ele recuperará o elemento no índice (0) (0) (0) da matriz 'arr', mas normalmente se quisermos recuperar todos os elementos de uma matriz, essa abordagem não será seguida e os elementos serão acessado através de loops, pois recupera todos os elementos de uma só vez. Ao acessar elementos por meio de loops, são utilizados 3 loops nos quais o primeiro loop define o número total de tabelas e o segundo loop define as linhas e o terceiro loop define as colunas conforme indicado abaixo:

Código:

class Student(
public static void main(String() args) (
// student_arr is the name of 3d array int()()() student_arr= (
(
(10, 20, 30),
(20, 30, 40)
),
(
(40, 50, 60),
(10, 70, 80),
)
);
// for loop to iterate through each element of 3D array for (tables = 0; tables<2; tables++)
(
for (rows= 0; rows <2; rows++)
(
for (columns= 0; columns<3; columns++)
(
System.out.print("student_arr(" +tables+ ")(" +rows+ ")(" +columns+ ") = "
+student_arr(tables)(rows)(columns)+ "\t");
)
System.out.println();
)
System.out.println();
)
)

Resultado:

student_arr (0) (0) (0) = 10student_arr (0) (0) (1) = 20student_arr (0) (0) (2) = 30
student_arr (0) (1) (0) = 20student_arr (0) (1) (1) = 30student_arr (0) (1) (2) = 40
student_arr (1) (0) (0) = 40student_arr (1) (0) (1) = 50student_arr (1) (0) (2) = 60
student_arr (1) (1) (0) = 10student_arr (1) (1) (1) = 70student_arr (1) (1) (2) = 80

Como remover elementos de matrizes 3D em Java?

  • A remoção de elementos em matrizes 3D em Java é simples e semelhante à inicialização deles. A classe Array não fornece nenhum método direto para adicionar ou excluir um elemento das matrizes. Como o tamanho da matriz não pode ser aumentado ou diminuído dinamicamente, é aplicada uma lógica de programação simples para executar esta tarefa. Simplesmente, podemos usar 3 loops para percorrer toda a matriz, especificando o índice no qual queremos remover o elemento. Podemos criar uma nova matriz ou copiar a matriz original deixando o elemento que precisa ser removido.
  • Através deste processo de remoção e atualização de elementos na matriz 3D, raramente é usado. Em vez disso, o ArrayList é usado nesses tipos de casos, pois fornece várias funções para remover diretamente elementos dele. Em ArrayList, o método 'remove ()' é usado para remover elementos no índice fornecido em um ArrayList. Se temos valores repetidos em uma matriz e queremos remover a primeira ocorrência na matriz que podemos usar, o método ArrayUtils.removeElement (matriz, elemento) para o mesmo que requer 2 argumentos, ou seja, a matriz inteira e o elemento que precisa ser ser removido dele.

Como atualizar elementos

Como tal, não existe um método para atualizar elementos em uma matriz 3D. Alguma lógica de programação é aplicada para modificar os elementos, como remover os elementos, percorrendo toda a matriz com o uso de 3 loops e realizando a modificação no índice específico ou em toda a matriz. Para uma tarefa tão complexa, esse processamento não é preferido por meio de matrizes 3D e é feito com o uso da coleção ArrayList. No conjunto ArrayList (int index, elemento E) é usado para modificar ou atualizar o elemento dinamicamente em uma matriz. São necessários 2 argumentos, ou seja, o índice e o elemento com o valor modificado e atualizado.

Conclusão

Como mencionamos acima, como trabalhar em matrizes 3D em Java. Trabalhar com matrizes multidimensionais em Java é um pouco difícil para os novos programadores, pois envolve vários loops, mas compreendê-lo através do procedimento passo a passo e ter em mente as regras básicas ao trabalhar com matrizes pode facilitar muito o trabalho nele.

Artigos recomendados

Este é um guia para matrizes 3D em Java. Aqui discutimos como criar matrizes, como inserir um valor, como acessar, remover e atualizar. Você também pode consultar nossos outros artigos relacionados para saber mais.

  1. Matrizes 3D em C
  2. Matrizes 3D em Python
  3. Matrizes em R
  4. Vantagens da matriz
  5. Matriz multidimensional em Python
  6. Matrizes em PHP
  7. Como matrizes e listas funcionam em Python?
  8. Matrizes multidimensionais em C ++ com exemplos