Java: int
arrays performance (8)
Posible duplicado:
Diferencia entre int [] array e int array []
¿Hay alguna diferencia entre
int[] array = new int[10];
y
int array[] = new int[10];
?
Ambos funcionan, y el resultado es exactamente el mismo. ¿Cuál es más rápido o mejor? ¿Hay alguna guía de estilo que recomiende una?
Ambos son básicamente iguales, no hay diferencia en el rendimiento de ningún tipo, pero el recomendado es el primero ya que es más legible.
int[] array = new int[10];
DE JLS :
El [] puede aparecer como parte del tipo al comienzo de la declaración, o como parte del declarador de una variable particular, o de ambos.
Ambos son equivalentes. Eche un vistazo a lo siguiente:
int[] array;
// is equivalent to
int array[];
int var, array[];
// is equivalent to
int var;
int[] array;
int[] array1, array2[];
// is equivalent to
int[] array1;
int[][] array2;
public static int[] getArray()
{
// ..
}
// is equivalent to
public static int getArray()[]
{
// ..
}
Ambos son lo mismo. Usualmente uso int[] array = new int[10];
, debido a una mejor legibilidad (contigua) del tipo int[]
.
Desde JLS http://docs.oracle.com/javase/specs/jls/se5.0/html/arrays.html#10.2
Aquí hay ejemplos de declaraciones de variables de matriz que no crean matrices:
int[ ] ai; // array of int
short[ ][ ] as; // array of array of short
Object[ ] ao, // array of Object
otherAo; // array of Object
Collection<?>[ ] ca; // array of Collection of unknown type
short s, // scalar short
aas[ ][ ]; // array of array of short
Aquí hay algunos ejemplos de declaraciones de variables de matriz que crean objetos de matriz:
Exception ae[ ] = new Exception[3];
Object aao[ ][ ] = new Exception[2][3];
int[ ] factorial = { 1, 1, 2, 6, 24, 120, 720, 5040 };
char ac[ ] = { ''n'', ''o'', ''t'', '' '', ''a'', '' '',
''S'', ''t'', ''r'', ''i'', ''n'', ''g'' };
String[ ] aas = { "array", "of", "String", };
El [] puede aparecer como parte del tipo al comienzo de la declaración, o como parte del declarador de una variable particular, o de ambos , como en este ejemplo:
byte[ ] rowvector, colvector, matrix[ ];
Esta declaración es equivalente a:
byte rowvector[ ], colvector[ ], matrix[ ][ ];
En ambos ejemplos, está asignando un new int[10]
a una variable de referencia.
Asignar a una variable de referencia de cualquier manera será igual en rendimiento.
int[] array = new int[10];
La notación anterior se considera la mejor práctica para la legibilidad.
Aclamaciones
No hay diferencia entre estas dos declaraciones, y ambas tienen el mismo rendimiento.
No, no hay diferencia. Pero prefiero usar la int[] array
ya que es más legible.
Prácticamente no hay diferencia.