Когда я должен использовать 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
?