Когда я должен использовать IntStream.range в Java?

Я хотел бы знать, когда я могу использоватьIntStream.range эффективно. У меня есть три причины, почему я не уверен, насколько полезноIntStream.range является.

(Пожалуйста, думайте о начале и конце как о целых числах.)

Если я хочу массив,[start, start+1, ..., end-2, end-1]код ниже намного быстрее.

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

Это наверное потому чтоtoArray() вIntStream.range(start, end).toArray() очень медленно

Я использую MersenneTwister для перемешивания массивов. (Я скачал класс MersenneTwister онлайн.) Я не думаю, что есть способ перемешатьIntStream используя MersenneTwister.

Я не думаю просто получатьint числа отstart вend-1 Полезно. я могу использоватьfor(int i = start; i < end; i++)что кажется проще и не медленнее.

Не могли бы вы сказать мне, когда я должен выбратьIntStream.range?

Ответы на вопрос(7)

Ваш ответ на вопрос