Introducción a las matrices 3D en Java

Antes de comprender las matrices 3D en Java, debemos saber qué es la matriz y por qué se usa en lenguajes de programación. Las matrices son básicamente un grupo de tipos de valores similares a los que se hace referencia con el mismo nombre. Por tipo similar, nos referimos a los valores del mismo tipo de datos. Considere una situación en la que queremos almacenar los nombres de todos los estudiantes de una clase. Como el nombre del alumno es de tipo de datos de cadena, sería incorrecto almacenar el nombre de cada alumno en una variable diferente, ya que no solo ocuparía mucho espacio sino que también crearía confusión en un programa al aumentar casi el mismo líneas de código. Entonces, para manejar este tipo de situaciones, se utilizan matrices. El programador puede crear una matriz de nombres de estudiantes y especificar su tamaño en el momento de la creación de la matriz de objetos. De esta manera, no sería necesario especificar el nombre de la variable para cada nombre de estudiante y cada vez que queramos actualizar, insertar y recuperar los valores, se pueden usar los índices de esta matriz.

En Java, una variable de matriz se declara similar a las otras variables con el signo () después del tipo de datos. El tamaño de la matriz debe definirse en el momento de la creación de la matriz y permanece constante. Se accede a los elementos de la matriz mediante los índices numéricos con el primer elemento almacenado en 0 índices. Básicamente, hay dos tipos de matrices en Java, es decir, matrices unidimensionales y multidimensionales. Las matrices 3D se incluyen en la categoría de matrices multidimensionales. Las matrices multidimensionales en palabras simples se pueden definir como una matriz de matrices y las matrices 3D son una matriz de matrices 2D. 3D es una forma compleja de matrices multidimensionales. Considere un escenario de apartamentos en un edificio. Supongamos que hay 10 pisos en el apartamento y cada piso tiene 5 pisos y cada piso tiene 3 habitaciones. Para manejar estos datos en la programación, se utilizan matrices 3D.

¿Cómo se definen las matrices 3D en Java?

Java utiliza una forma muy simple de definir las matrices. Los corchetes ('()') se utilizan para definir el objeto de matriz después del tipo de datos de la matriz. Es necesario definir el tamaño en el momento de la declaración de la matriz. Las matrices 3D se definen con tres corchetes. A continuación se muestra la sintaxis para definir las matrices 3D en Java:

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

  • Aquí data_type: tipo de datos de elementos que se almacenarán en la matriz. array_name: nombre de la matriz
  • nuevo: palabra clave para crear un objeto en Java
  • a, b, c: contiene los valores numéricos para las diversas dimensiones.

Sintaxis:

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

En el ejemplo anterior, puede haber un máximo de 10x4x3 = 120 elementos almacenados por la matriz 'arr'.

¿Cómo crear matrices 3D e insertar valores en ellas en Java?

Crear matrices 3D en Java es tan simple como crear matrices 1D y 2D. Como se mencionó anteriormente, es importante definir el tamaño de una matriz en el momento de la declaración. Crear matrices 3D implica un paso más de pasar / ingresar valores en ellas en forma de una matriz de matrices 2D. Podemos definir el tamaño de una matriz y luego podemos insertar / ingresar los valores o podemos pasar directamente los valores en una matriz. Entonces, la forma de valor definida en las matrices 3D se da a continuación:

Sintaxis

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)
),
);

Las matrices están dentro de una matriz y, por lo tanto, se llama una matriz de matrices 2D. En el ejemplo anterior, si lo vemos claramente, hay dos conjuntos de números en 2D y este 2D.

¿Cómo inicializar elementos de matrices 3D en Java?

Como se mencionó anteriormente, inicializar toda la matriz de una vez es una mejor práctica cuando se trabaja con matrices 3D, ya que reduce las posibilidades de confusión para la programación futura. Aunque también podemos asignar un valor a la vez en una matriz que se puede hacer de la manera mencionada a continuación:

Sintaxis:

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

El enfoque anterior es agotador y no se considera un buen enfoque, ya que ocupa mucho espacio y aumenta las líneas de código. También hay un enfoque que utiliza los bucles que se consideran una buena práctica cuando se trabaja con matrices 3D.

Sintaxis:

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;
)
)
)

En el ejemplo anterior, todos los elementos de la matriz se insertan usando los bucles donde x = no. de tablas, y = número total de filas y z denota el número total de columnas en una matriz 3D llamada Student_arr.

¿Cómo acceder a elementos de matrices 3D en Java?

Sin embargo, en Java podemos acceder al elemento único de la matriz utilizando los índices, ya que los hemos inicializado mediante índices similares al que se muestra a continuación:

Sintaxis:

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

Sintaxis:

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

En la sintaxis anterior, recuperará el elemento en el índice (0) (0) (0) de la matriz 'arr', pero normalmente si queremos recuperar todos los elementos de una matriz, entonces este enfoque no se sigue y los elementos son Se accede a través de bucles ya que recupera todos los elementos a la vez. Al acceder a los elementos a través de bucles, se utilizan 3 bucles en los que el primer bucle define el número total de tablas y el segundo bucle define las filas y el tercer bucle define las columnas como se indica a continuación:

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();
)
)

Salida:

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

¿Cómo eliminar elementos de matrices 3D en Java?

  • Eliminar elementos en matrices 3D en Java es simple y similar al que los inicializa. La clase de matriz no proporciona ningún método directo para agregar o eliminar un elemento de las matrices. Como el tamaño de la matriz no se puede aumentar o disminuir dinámicamente, se aplica una lógica de programación simple para realizar esta tarea. Simplemente podemos usar 3 bucles para atravesar toda la matriz especificando el índice en el que queremos eliminar el elemento. Podemos crear una nueva matriz o copiar la matriz original dejando el elemento que necesita ser eliminado.
  • A través de este proceso de eliminación y actualización de elementos en la matriz 3D, rara vez se utiliza. En cambio, ArrayList se usa en este tipo de casos, ya que proporciona varias funciones para eliminar directamente elementos de él. En ArrayList, el método 'remove ()' se usa para eliminar elementos en el índice proporcionado en una ArrayList. Si tenemos valores repetidos en una matriz y queremos eliminar la primera aparición en la matriz que podemos usar, método ArrayUtils.removeElement (matriz, elemento) para el mismo que toma 2 argumentos, es decir, toda la matriz y el elemento que necesita ser eliminado de ella.

Cómo actualizar elementos

Como tal, no hay ningún método para actualizar elementos en una matriz 3D. Se aplica cierta lógica de programación para modificar los elementos, como eliminar los elementos atravesando todo el conjunto con el uso de 3 bucles y realizar la modificación en el índice particular o en todo el conjunto. Para una tarea tan compleja, este procesamiento no se prefiere a través de matrices 3D y se realiza mediante el uso de la colección, ArrayList. En ArrayList set (int index, E element) se usa para modificar o actualizar el elemento dinámicamente en una matriz. Toma 2 argumentos, es decir, el índice y el elemento con el valor modificado y actualizado.

Conclusión

Como mencionamos anteriormente, cómo trabajar en matrices 3D en Java. Trabajar con matrices multidimensionales en Java es algo difícil para los nuevos programadores, ya que involucra varios bucles, pero comprenderlo a través del procedimiento paso a paso y tener en cuenta las reglas básicas mientras se trabaja con matrices puede hacer que sea mucho más fácil trabajar en él.

Artículos recomendados

Esta es una guía de matrices 3D en Java. Aquí discutimos cómo crear matrices, cómo insertar un valor, cómo acceder, eliminar y actualizar. También puede consultar nuestros otros artículos relacionados para obtener más información.

  1. Matrices 3D en C
  2. Matrices 3D en Python
  3. Arreglos en R
  4. Ventajas de la matriz
  5. Matriz multidimensional en Python
  6. Matrices en PHP
  7. ¿Cómo funcionan las matrices y listas en Python?
  8. Matrices multidimensionales en C ++ con ejemplos