Matriz multidimensional de Java (Matriz 2d y 3d)

En este tutorial, aprenderemos sobre la matriz multidimensional de Java utilizando matrices bidimensionales y matrices tridimensionales con la ayuda de ejemplos.

Antes de aprender sobre la matriz multidimensional, asegúrese de conocer la matriz de Java.

Una matriz multidimensional es una matriz de matrices. Cada elemento de una matriz multidimensional es una matriz en sí misma. Por ejemplo,

 int()() a = new int(3)(4);

Aquí, hemos creado una matriz multidimensional llamada a. Es una matriz bidimensional, que puede contener un máximo de 12 elementos,

Matriz bidimensional

Recuerde, Java usa indexación basada en cero, es decir, la indexación de matrices en Java comienza con 0 y no 1.

Tomemos otro ejemplo de la matriz multidimensional. Esta vez crearemos una matriz tridimensional. Por ejemplo,

 String()()() data = new String(3)(4)(2);

Aquí, los datos son una matriz 3d que puede contener un máximo de 24 (3 * 4 * 2) elementos de tipo String.

¿Cómo inicializar una matriz 2d en Java?

Así es como podemos inicializar una matriz bidimensional en Java.

 int()() a = ( (1, 2, 3), (4, 5, 6, 9), (7), );

Como podemos ver, cada elemento de la matriz multidimensional es una matriz en sí misma. Y también, a diferencia de C / C ++, cada fila de la matriz multidimensional en Java puede tener diferentes longitudes.

Inicialización de matriz bidimensional

Ejemplo: matriz bidimensional

 class MultidimensionalArray ( public static void main(String() args) ( // create a 2d array int()() a = ( (1, 2, 3), (4, 5, 6, 9), (7), ); // calculate the length of each row System.out.println("Length of row 1: " + a(0).length); System.out.println("Length of row 2: " + a(1).length); System.out.println("Length of row 3: " + a(2).length); ) )

Salida :

 Longitud de la fila 1: 3 Longitud de la fila 2: 4 Longitud de la fila 3: 1

En el ejemplo anterior, estamos creando una matriz multidimensional llamada a. Puesto que cada componente de una matriz multidimensional es también una matriz ( a(0), a(1)y a(2)también son arrays).

Aquí, estamos usando el lengthatributo para calcular la longitud de cada fila.

Ejemplo: imprima todos los elementos de una matriz 2d usando Loop

 class MultidimensionalArray ( public static void main(String() args) ( int()() a = ( (1, -2, 3), (-4, -5, 6, 9), (7), ); for (int i = 0; i < a.length; ++i) ( for(int j = 0; j < a(i).length; ++j) ( System.out.println(a(i)(j)); ) ) ) )

Salida :

 1-2 3-4-5 6 9 7

También podemos usar for… each loop para acceder a elementos de la matriz multidimensional. Por ejemplo,

 class MultidimensionalArray ( public static void main(String() args) ( // create a 2d array int()() a = ( (1, -2, 3), (-4, -5, 6, 9), (7), ); // first for… each loop access the individual array // inside the 2d array for (int() innerArray: a) ( // second for… each loop access each element inside the row for(int data: innerArray) ( System.out.println(data); ) ) ) )

Salida :

 1-2 3-4-5 6 9 7

En el ejemplo anterior, hemos creado una matriz 2d llamada a. Luego usamos forloop y for… eachloop para acceder a cada elemento de la matriz.

¿Cómo inicializar una matriz 3D en Java?

Veamos cómo podemos usar una matriz 3d en Java. Podemos inicializar una matriz 3d similar a la matriz 2d. Por ejemplo,

 // test is a 3d array int()()() test = ( ( (1, -2, 3), (2, 3, 4) ), ( (-4, -5, 6, 9), (1), (2, 3) ) );

Básicamente, una matriz 3D es una matriz de matrices 2d. Las filas de una matriz 3D también pueden variar en longitud al igual que en una matriz 2D.

Ejemplo: matriz tridimensional

 class ThreeArray ( public static void main(String() args) ( // create a 3d array int()()() test = ( ( (1, -2, 3), (2, 3, 4) ), ( (-4, -5, 6, 9), (1), (2, 3) ) ); // for… each loop to iterate through elements of 3d array for (int()() array2D: test) ( for (int() array1D: array2D) ( for(int item: array1D) ( System.out.println(item); ) ) ) ) )

Salida :

 1-2 3 2 3 4-4-5 6 9 1 2 3

Articulos interesantes...