2010-11-06 22 views
43

Bien, entonces tengo una matriz 2D z [50] [50] y el tamaño de la z es por lo tanto 50 * 50, pero si digo z.length solo obtengo 50 de vuelta. ¿Cómo obtengo el tamaño real de una matriz 2D?Obtenga el tamaño de una matriz 2D

+2

Esta pregunta parece un poco vago : ¿a qué se refiere el "tamaño real"? –

Respuesta

77

En Java, los arrays 2D son realmente órdenes de órdenes con posiblemente diferentes longitudes (no hay garantías de que en las matrices 2D que el 2º matrices de dimensiones todos tener la misma longitud)

Usted puede obtener la longitud de cualquier segundo matriz de dimensiones como z[n].length donde 0 <= n < z.length.

Si está tratando su matriz 2D como matriz, simplemente puede obtener z.length y z[0].length, pero tenga en cuenta que puede suponer que para cada matriz en la 2ª dimensión la longitud es la misma (para algunos programas esta podría ser una suposición razonable).

+0

nota: esto puede violar algunos paradigmas de programación, pero las reglas están hechas para ser roto amirite? – easymoden00b

8

Ampliando lo Mark Elliot dicho antes, la forma más fácil de obtener el tamaño de una matriz 2D dado que cada matriz en la matriz de matrices es del mismo tamaño es:

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

array [0] .size() significa que no es una matriz 2D sino, por ejemplo, una matriz de colecciones. –

Cuestiones relacionadas