domingo, 8 de septiembre de 2024

Java ► Arreglos Bidimensionales

Declaración de, arreglos bidimensionales o matrices, en Java.


¿Qué es un arreglo bidimensional? Clic aquí


Sintaxis de la declaración

<tipo>[] identificador = new <tipo>[filas][columnas];


Declaración de diferentes tipos de arreglo bidimensional de tamaño 2x5

int[][] miArreglo = new int[2][5];

double[][] miArreglo = new double[2][5];

String[][] miArreglo = new String[2][5];

Y así para cada tipo de dato.


Inicialización

Para inicializar el arreglo debemos especificar en qué fila y columna queremos asignar los datos, por ejemplo para un arreglo tamaño 2x5 del tipo int sería así:

miArreglo[0][0] = 1; // Asignamos 1 a la fila 0 columna 0

miArreglo[0][1] = 2; // Asignamos 2 a la fila 0 columna 1

miArreglo[0][2] = 3; // Asignamos 3 a la fila 0 columna 2

miArreglo[0][3] = 2; // Asignamos 2 a la fila 0 columna 3

miArreglo[0][4] = 3; // Asignamos 3 a la fila 0 columna 3

miArreglo[1][0] = 4; // Asignamos 4 a la fila 1 columna 0

Y así hasta llega a la fila 1, 4, ya que al ser el arreglo tamaño [2][5], significa que el arreglo tiene 2 filas por 5 columnas, siendo la fila [0] la primera fila, la fila [1] la segunda fila; la columna [0] la primera columna, la columna [1] la segunda columna y así.


Inicialización del arreglo mediante un doble for

int valor = 1;
for (int i=0; i<2; i++) {
   for (int i=0; j<5; j++) {
      miArreglo[i][j] = valor;
      valor++;
   }
}

Como puede observarse, para darle valores al arreglo se utilizan dos estructuras for anidadas, la primera va recorrer las filas y la segunda va recorrer las columnas, en este caso de cada fila.


Declaración e inicialización de la matriz

Cuando declaramos e inicializamos la matriz con determinados valores ya no es necesario especificar su tamaño, simplemente se asignan los valores de la siguiente forma:

int[][] miArreglo = {{1,2,3},{4,5,6},{7,8,9}};

En este caso sería una matriz 3x3 que almacena los valores del 1 al 9.


■ Recorrido de la matriz

Dado que la matriz en Java es en sí un arreglo de arreglos, es decir, es un arreglo donde cada uno de sus elementos puede ser un arreglo, éstos pueden variar de tamaño, por ejemplo el primer elemento puede ser un arreglo de 3 elementos, mientras que el segundo podría tener 4 elementos y así cada uno podría tener diferente tamaño, por lo que para su recorrido se suele uno auxiliar de la función "length" que nos indica de qué tamaño es el arreglo y mediante ella sin importar su tamaño nuestro for se irá adaptando a cada uno.

Esto sería así:

int[][] Numeros = {{1, 2, 3, 4, 5}, {6, 7, 8}, {9, 10, 11}, {12, 13, 14, 15}, {16, 17, 18, 19, 20}};

for (int fila=0; fila < Numeros.length; fila++) {
    for (int columna=0; columna < Numeros[fila].length; columna++) {
        System.out.println(Numeros[fila][columna]);
    }
}

Donde:
"fila" representa al número de elementos interiores del arreglo, en este caso 5.
"columna" representea al número de elementos que contiene cada arreglo interior, este número varía en función al arreglo en cuestión, es decir, a Numeros[fila], el primero tendrá 5, el segundo 3, el tercero 3 y así.

No hay comentarios:

Publicar un comentario