A través del estudio de la sección anterior, sabemos que no existe el concepto de matrices multidimensionales en Java, solo matrices unidimensionales. Podemos entender las matrices multidimensionales como matrices de matrices, por lo que se derivará una matriz irregular .
Por ejemplo, una matriz bidimensional regular de 4×3 tiene 12 elementos, pero una matriz bidimensional irregular de 4×3 no necesariamente tiene tantos elementos. Por ejemplo, inicialice estáticamente una matriz irregular:
intArray[][]={{1,2},{3},{4,5,6},{7,8}};
Llamamos matrices de dos dimensiones y superiores matrices de alta dimensión. Luego, la matriz de alta dimensión anterior tiene 4 elementos, pero el número de elementos de la matriz de baja dimensión es diferente. La primera matriz tiene 2 elementos y la segunda matriz. tiene 1 elemento, la tercera matriz tiene 3 elementos y la cuarta matriz tiene 2 elementos. Esto es lo que llamamos una matriz irregular.
Inicializar dinámicamente una matriz irregular es un poco más problemático. No puede usar directamente la nueva instrucción int [4] [3]. Primero debemos inicializar la matriz de alta dimensión y luego inicializar la matriz de baja dimensión por separado, por ejemplo:
intArray[][]=newint[4][];//Inicializa la matriz de alta dimensión primero en 4Array[0]=newint[2];//Inicializa la matriz de baja dimensión Array[1]=newint[1] ;Matriz[ uno por uno 2]=newint[3];Matriz[3]=newint[2];
Luego, después de que el código anterior inicializa la matriz, podemos saber que no hay 12 elementos, sino solo 8 elementos, donde los subíndices son [0][2], [1][1], [1][2] y [ 3][2] no existe. Cuando intentamos acceder a ellos, se generará una excepción de subíndice fuera de límites .
Nota : La excepción de subíndice fuera de límites (ArrayIndexOutOfBoundsException) se genera al intentar acceder a un subíndice inexistente. Por ejemplo, suponiendo que una matriz unidimensional tiene 12 elementos, entonces la expresión Matriz [12] provocará una excepción de subíndice fuera de límites. Esto se debe a que el subíndice de la matriz comienza desde 0 y el subíndice del último elemento debe ser el. longitud de la matriz menos la longitud de la matriz 1, por lo que el elemento al que accede Array[12] no existe.