Grâce à l'étude de la section précédente, nous savons qu'il n'y a pas de concept de tableaux multidimensionnels en Java, seulement des tableaux unidimensionnels. Nous pouvons comprendre les tableaux multidimensionnels comme des tableaux de tableaux, donc un tableau irrégulier sera dérivé.
Par exemple, un tableau bidimensionnel 4×3 régulier comporte 12 éléments, mais un tableau bidimensionnel 4×3 irrégulier ne comporte pas nécessairement autant d’éléments. Par exemple, initialisez statiquement un tableau irrégulier :
intArray[][]={{1,2},{3},{4,5,6},{7,8}} ;
Nous appelons des tableaux de deux dimensions et plus des tableaux de haute dimension. Ensuite, le tableau de haute dimension ci-dessus a 4 éléments, mais le nombre d'éléments du tableau de basse dimension est différent. Le premier tableau a 2 éléments et le second Le tableau. a 1 élément, le 3ème tableau a 3 éléments et le 4ème tableau a 2 éléments. C'est ce que nous appelons un tableau irrégulier.
L'initialisation dynamique d'un tableau irrégulier est un peu plus gênante. Il ne peut pas utiliser directement la nouvelle instruction int[4][3] Nous devons d'abord initialiser le tableau de grande dimension, puis initialiser le tableau de faible dimension séparément, par exemple :
intArray[][]=newint[4][];//Initialisez d'abord le tableau de grande dimension à 4Array[0]=newint[2];//Initialisez le tableau de basse dimension Array[1]=newint[1] ;Array[ un par un 2]=newint[3];Array[3]=newint[2];
Ensuite, après que le code ci-dessus ait initialisé le tableau, nous pouvons savoir qu'il n'y a pas 12 éléments, mais seulement 8 éléments, où les indices sont [0][2], [1][1], [1][2] et [ 3][2] n'existe pas. Lorsque nous essayons d'y accéder, une exception d'indice hors limites sera levée.
Remarque : L'exception hors limites de l'indice (ArrayIndexOutOfBoundsException) est levée lors de la tentative d'accès à un indice inexistant. Par exemple, en supposant qu'un tableau unidimensionnel Array comporte 12 éléments, alors l'expression Array[12] provoquera une exception hors limites d'indice. En effet, l'indice du tableau commence à 0 et le dernier indice d'élément doit être le. longueur du tableau moins la longueur du tableau 1, donc l'élément accédé par Array[12] n'existe pas.