Метод range
Метод range класса IntStream создает
поток целых чисел от начального значения
до конечного значения. Первым параметром
метод принимает начальное значение (включительно),
вторым - конечное значение (не включая его).
Метод возвращает объект типа IntStream,
который можно использовать для дальнейшей
обработки чисел.
Синтаксис
IntStream.range(startInclusive, endExclusive)
Пример
Давайте создадим поток чисел от 1 до 5
(конечное значение не входит в поток)
и выведем их на экран:
import java.util.stream.IntStream;
public class Main
{
public static void main(String[] args)
{
IntStream.range(1, 6).forEach(System.out::println);
}
}
Результат выполнения кода:
1
2
3
4
5
Пример
Давайте создадим поток чисел от 0 до 4
и соберем их в массив:
import java.util.stream.IntStream;
import java.util.Arrays;
public class Main
{
public static void main(String[] args)
{
int[] res = IntStream.range(0, 5).toArray();
System.out.println(Arrays.toString(res));
}
}
Результат выполнения кода:
[0, 1, 2, 3, 4]
Пример
Давайте создадим поток чисел от 1 до 10
и найдем сумму только четных чисел:
import java.util.stream.IntStream;
public class Main
{
public static void main(String[] args)
{
int res = IntStream.range(1, 11)
.filter(n -> n % 2 == 0)
.sum();
System.out.println(res);
}
}
Результат выполнения кода:
30
Смотрите также
-
метод
rangeClosed,
который создает поток чисел включая конечное значение -
метод
of,
который создает поток из заданных чисел -
метод
sum,
который возвращает сумму элементов потока -
метод
boxed,
который преобразует поток примитивов в поток объектов