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