Introducción a la matriz multidimensional en Java

Una guía completa sobre matriz multidimensional en Java. Una matriz es una estructura de datos homogénea que es una colección de elementos con un tipo de datos similar. Se almacenan en la ubicación de memoria contigua. En la matriz, el primer elemento se almacena en el índice 0, el segundo elemento se almacena en el índice 1, y así sucesivamente. Las matrices pueden ser de una sola dimensión o de múltiples dimensiones. En este documento, analizaremos matrices multidimensionales en Java. Una matriz multidimensional es una matriz de matrices que puede contener más de una fila y columna. Ahora, veamos la sintaxis y la implementación de la matriz multidimensional en las siguientes secciones.

Sintaxis:

data_type(dimension 1)(dimension 2)()…(dimension n) array_name= new data_type(size 1)(size 2)…(size n)

  • tipo_datos : tipo de datos de la matriz, Ejemplo: int, char, float, etc.
  • dimensión : la dimensión de la matriz, Ejemplo: 1D, 2D, etc.
  • array_name : nombre de la matriz.
  • size1, size2, …, sizeN : Tamaños de la dimensión.

Tipos de matriz multidimensional en Java

Los arreglos multidimensionales más comunes en Java son:

  • Matriz bidimensional o matriz 2D.
  • Matriz tridimensional o matriz 3D.

1. Matriz bidimensional

Las matrices 2D se usan comúnmente en videojuegos de plataformas como Super Mario para representar el terreno o la pantalla. También se pueden usar para dibujar tableros de ajedrez, que representan estructuras como una hoja de cálculo, etc.

Código :

int()() array1 = new int(2)(2);//Two dimensional Integer Array with 2 rows and 2 columns

Ejemplo :

9 10

7 66

Esta es una matriz 2D con dos filas y dos columnas.

2. Matriz tridimensional

Las matrices tridimensionales no se usan comúnmente en aplicaciones en tiempo real. Por lo tanto, las matrices bidimensionales tienen más preferencia en los ejemplos de programación también.

Código :

int()()() array2 = new int(12)(24)(36); //Three dimensional Array

Ejemplo :

6 8 66

66 65 47

46 89 98

¿Cómo declarar una matriz multidimensional en Java?

Es fácil entender la matriz multidimensional en Java si se conocen las matrices normales. Las matrices multidimensionales se pueden declarar como se muestra a continuación:

Primero, veamos la declaración de matrices 2D:

  • int () () array1 = nuevo int (2) (2); // Matriz entera bidimensional con 2 filas y 2 columnas.
  • String () () array1 = new String (2) (2); // Conjunto de cadenas bidimensionales con 2 filas y 2 columnas.
  • char () () array1 = nuevo char (2) (2); // Matriz bidimensional de caracteres con 2 filas y 2 columnas.
  • boolean () () array1 = nuevo boolean (2) (2); // Matriz booleana bidimensional con 2 filas y 2 columnas.
  • double () () array1 = nuevo doble (2) (2); // Matriz doble bidimensional con 2 filas y 2 columnas.
  • float () () array1 = nuevo float (2) (2); // Matriz flotante bidimensional con 2 filas y 2 columnas.
  • long () () array1 = new long (2) (2); // Matriz bidimensional larga con 2 filas y 2 columnas.
  • short () () array1 = nuevo short (2) (2); // Matriz corta bidimensional con 2 filas y 2 columnas.
  • byte () () array1 = nuevo byte (2) (2); // Matriz de bytes bidimensionales con 2 filas y 2 columnas.

Asegúrese de que se crea la declaración adecuada durante la programación en Java.

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

Salida:

La Declaración de la matriz tridimensional puede ser discutida.

  • int () () () array2 = new int (12) (24) (36); // Matriz tridimensional

Estas matrices pueden ser de cualquier tipo de datos. A continuación se muestran algunas de las matrices tridimensionales con diferentes tipos de datos.

  • int () () () IntArray; // declarando una matriz tridimensional de enteros.
  • byte () () () ByteArray; // declarando una matriz tridimensional de bytes.
  • short () () () ShortArray; // declarando una matriz tridimensional de Shorts.
  • long () () () LongArray; // declarando una matriz tridimensional de Longs.
  • float () () () FloatArray; // declarando una matriz tridimensional de flotadores.
  • double () () () DoubleArray; // declarando una matriz tridimensional de dobles.
  • boolean () () () BooleanArray; // declarando una matriz tridimensional de booleanos.
  • char () () () CharArray; // declarando una matriz tridimensional de caracteres.
  • String () () () StringArray; // declarando una matriz tridimensional de cadenas.

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

Salida:

¿Cómo inicializar la matriz multidimensional en Java?

Las matrices multidimensionales se pueden inicializar de varias maneras:

1. Declarar y crear una matriz multidimensional de Java

  • int () () () a = nuevo int (3) (5) (4);

De una manera más tradicional, los elementos de la matriz de inicialización pueden ser los siguientes.

  • a (0) (1) (0) = 15; // Inicializando elementos de matriz en la posición (0) (1) (0)
  • a (1) (2) (0) = 45; // Inicializando elementos de matriz en la posición (1) (2) (0)
  • a (2) (1) (1) = 65; // Inicializando elementos de matriz en la posición (2) (1) (1)

2. Especifique directamente los 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) ) );

En este caso, aunque no se menciona el tamaño de las filas y columnas, el compilador de Java puede identificar el tamaño de las filas y columnas contando el número de elementos.

3. Anidado para bucle

En el caso de almacenar una gran cantidad de elementos, Nested For Loop se puede usar como se muestra a continuación:

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. Asignación de valores a una fila

int a= new int(3)(2)(4);
a(0)(2)(1)= 33;
a(0)(1)(2)= 73;
a(0)(1)(1)= 88;

Se crea una matriz tridimensional de tamaño 3 niveles * 2 filas * 4 columnas, pero los valores se asignan solo a algunas posiciones. Como ninguno de los otros elementos tiene ningún valor asignado, se asignarán valores predeterminados.

Operaciones en matrices multidimensionales

La matriz multidimensional en Java puede realizar varias operaciones.

Ejemplo 1

Veamos la suma de matrices de dos matrices.

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

Salida:

Si es necesario realizar la resta, reemplace '+' con '-' en el código.

Ejemplo # 2

Veamos cómo funciona Matrix Multiplication.

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

Salida:

Conclusión

Las matrices son estructuras de datos homogéneas que pueden almacenar tipos similares de elementos. Puede ser unidimensional o multidimensional. En este documento, se discuten las matrices multidimensionales explicando la estructura de sintaxis, la inicialización, etc.

Artículos recomendados

Esta es una guía para la matriz multidimensional en Java. Aquí discutimos 2 tipos de matriz multidimensional en java, cómo declarar, cómo inicializar y operar en su. También puede consultar nuestros otros artículos relacionados para obtener más información:

  1. Matriz multidimensional en C
  2. Matrices 2D en Java
  3. Matrices 2D en C #
  4. PHP Booleanos
  5. Gráficos 2D en Java
  6. Matriz multidimensional en PHP
  7. Matrices multidimensionales en C ++ con ejemplos
  8. 3 diferentes tipos de matrices en PHP (ejemplos)
  9. Matrices en estructura de datos
  10. ¿Qué es una matriz de cuerdas?
  11. ¿Cómo funciona la matriz en Unix con sintaxis?