¿Cuándo debo usar IntStream.range en Java?

Me gustaría saber cuándo puedo usarIntStream.range eficazmente. Tengo tres razones por las que no estoy seguro de cuán útilIntStream.range es.

(Piense en inicio y fin como enteros).

Si quiero una matriz,[start, start+1, ..., end-2, end-1], el siguiente código es mucho más rápido.

int[] arr = new int[end - start];
int index = 0;
for(int i = start; i < end; i++)
    arr[index++] = i;

Esto es probablemente porquetoArray() enIntStream.range(start, end).toArray() es muy lento.

Yo uso MersenneTwister para barajar matrices. (Descargué la clase MersenneTwister en línea.) No creo que haya una manera de barajarIntStream usando MersenneTwister.

No creo que solo consigaint números destart aend-1 es útil. Puedo usarfor(int i = start; i < end; i++), que parece más fácil y no lento.

¿Podrías decirme cuándo debería elegir?IntStream.range?

Respuestas a la pregunta(7)

Su respuesta a la pregunta