Arrays bidimensionales

Los arrays bidimensionales de Java se crean de un modo muy similar al de C++ (con reserva dinámica de memoria). En Java una matriz es un vector de vectores fila, o más en concreto un vector de referencias a los vectores fila. Con este esquema, cada fila podría tener un número de elementos diferente.

Una matriz se puede crear directamente en la forma,

int [][] mat = new int[3][4];

o bien se puede crear de modo dinámico dando los siguientes pasos:

1. Crear la referencia indicando con un doble corchete que es una referencia a matriz,

int[][] mat;

2. Crear el vector de referencias a las filas,

mat = new int[nfilas][];

3. Reservar memoria para los vectores correspondientes a las filas,

for (int i=0; i<nfilas; i++); mat[i] = new int[ncols];

A continuación se presentan algunos ejemplos de creación de arrays bidimensionales:

// crear una matriz 3×3
// se inicializan a cero double mat[][] = new double[3][3]; int [][] b = {{1, 2, 3},
{4, 5, 6}, // esta coma es permitida };
int c = new[3][]; // se crea el array de referencias a arrays c[0] = new int[5];
c[1] = new int[4]; c[2] = new int[8];

En el caso de una matriz b, b.length es el número de filas y b[0].length es el número de columnas (de la fila 0). Por supuesto, los arrays bidimensionales pueden contener tipos primitivos de cualquier tipo u objetos de cualquier clase.

Fuente: Aprenda Java como si estuviera en primero de la Universidad de Navarra