2010-11-06 4 views
43

Ok, donc j'ai un tableau 2D z [50] [50] et la taille de z est donc 50 * 50, mais si je dis z.length je ne récupère que 50 en arrière. Comment puis-je obtenir la taille réelle d'un tableau 2D?Obtenez la taille d'un tableau 2D

+2

Cette question semble un peu vague : à quoi correspond la "taille réelle"? –

Répondre

77

En Java, les tableaux 2D sont vraiment des tableaux de tableaux avec éventuellement différentes longueurs (il n'y a aucune garantie que dans des tableaux 2D que les tableaux de 2e dimension tous la même longueur)

Vous pouvez obtenir la longueur de tout 2 tableau de dimension comme z[n].length0 <= n < z.length. Si vous traitez votre tableau 2D comme une matrice, vous pouvez simplement obtenir z.length et z[0].length, mais notez que vous pourriez faire l'hypothèse que pour chaque tableau de la 2ème dimension, la longueur est la même (pour certains programmes cela pourrait être une hypothèse raisonnable).

+0

note: cela peut violer certains paradigmes de programmation, mais les règles sont faites pour être brisé amirite? – easymoden00b

8

L'expansion de ce que Mark Elliot dit plus tôt, la meilleure façon d'obtenir la taille d'un tableau 2D étant donné que chaque tableau dans le tableau de tableaux est de la même taille est:

array.length * array[0].length 
+0

array [0] .size() signifierait que ce n'est pas un tableau 2D mais par exemple un tableau de collections. –