java arrays performance definition cpu-speed

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.