Por curiosidad, ¿cuántas dimensiones de una matriz puede tener en Java?Número máximo de dimensiones en una matriz Java
Respuesta
El Java lenguaje no limita el número de dimensiones, pero la especificación de Java VM limita el número de dimensiones a 255.
Por ejemplo, el siguiente código fallará para compilar:
class Main {
public static void main(String[] args) {
final int[][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][] x;
}
}
con error:
1.java:18: error: array type has too many dimensions
[][][][][][][][][][][][][][][][] x;
^
1 error
(Ref: https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.4.1 "Un descriptor tipo de matriz sólo es válida si representa 255 o menos dimensiones.")
En otras palabras, si necesitabas más de 255 (¡ha!), Tendrías que convertir las externas en matrices de objetos y luego convertirlas al tipo real una vez que estuvieras por debajo de 256. – Gabe
Esto es interesante, no lo hice lo sé. Por un lado, me pregunto por qué alguien querría usar una matriz de esa dimensionalidad, y por el otro, me pregunto por qué lo limitarían así. – Cam
@Cam 255 cabe en 8 bits. – kennytm
Estrictamente hablando de
Maximum number of dimensions in a Java array
es sólo una matriz bidimensional es posible en Java. porque bajo el capó java trata arreglos multidimensionales como una matriz de matrices.
Prueba de concepto: http://www.willamette.edu/~gorr/classes/cs231/lectures/chapter9/arrays2d.htm
Por eso es posible tener matrices irregulares en Java, así!
Pequeño experimento muestra que 255 dimensiones son máximas. 256 causa error de compilación;
Esta respuesta ya se proporcionó en 2010 :-) – Carpetsmoker
- 1. ¿Es posible contar el número de dimensiones en una matriz?
- 2. Determinar el número de dimensiones en una matriz PHP
- 3. ¿Cómo copio una matriz de 2 dimensiones en Java?
- 4. Número máximo de elementos enum en Java
- 5. Convertir matriz 2 dimensiones
- 6. iteración matriz de una dimensión como matriz de dos dimensiones
- 7. Número máximo de caracteres stringbuilder puede acomodar
- 8. Número máximo de Ruby
- 9. Número máximo de Err.Raise?
- 10. Número de hilo máximo para una aplicación?
- 11. dos dimensiones matriz rebanada en C#
- 12. Tamaño máximo de archivo de imagen JPEG con dimensiones conocidas
- 13. Adición de matrices con diferente número de dimensiones
- 14. Parámetros de función número máximo
- 15. Asignar matriz dinámica con dimensiones interdependientes
- 16. Número máximo de HttpWebRequests concurrentes
- 17. Número máximo de instrucciones GLSL
- 18. Número máximo de cookies permitidas
- 19. Número máximo (utilizable) de filas en una tabla de Postgresql
- 20. Excepción de Oracle de Java: "el número máximo de expresiones en una lista es 1000"
- 21. Iterar a través de una matriz de 2 dimensiones C#
- 22. Perl lenguaje para conseguir un número máximo de elementos de una matriz
- 23. Número máximo de unidades en windows?
- 24. orden de las dimensiones al crear una matriz multidimensional
- 25. matriz de dos dimensiones para una sola dimensión y viceversa
- 26. ¿Número máximo de subprocesos en una aplicación .NET?
- 27. ¿Número máximo de filas en una tabla sqlite?
- 28. Número máximo de tablas en MySQL
- 29. ¿Número máximo de inodos en un directorio?
- 30. Número máximo de procesos en Linux
Gran nombre, por cierto. –