Quando devo usar o IntStream.range em Java?

Gostaria de saber quando posso usarIntStream.range efetivamente. Tenho três razões pelas quais não tenho certeza de quão útilIntStream.range é.

(Pense no início e no final como números inteiros.)

Se eu quero uma matriz,[start, start+1, ..., end-2, end-1], o código abaixo é muito mais rápido.

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

Isto é provavelmente porquetoArray() noIntStream.range(start, end).toArray() é muito lento.

Eu uso o MersenneTwister para embaralhar matrizes. (Eu baixei a classe MersenneTwister online.) Acho que não há uma maneira de embaralhar.IntStream usando MersenneTwister.

Eu não acho que apenas ficandoint números destart paraend-1 é útil. Eu posso usarfor(int i = start; i < end; i++), o que parece mais fácil e não lento.

Você poderia me dizer quando devo escolherIntStream.range?

questionAnswers(7)

yourAnswerToTheQuestion