Метод rangeClosed
Метод rangeClosed класса IntStream создает
поток целых чисел от начального значения до конечного
значения включительно. Первым параметром метод принимает
начальное значение диапазона, вторым - конечное значение,
которое также включается в поток. Если начальное значение
больше конечного, поток будет пустым.
Синтаксис
IntStream.rangeClosed(startInclusive, endInclusive)
Пример
Давайте создадим поток чисел от 1 до 5
включительно и выведем каждое число:
import java.util.stream.IntStream;
public class Main
{
public static void main(String[] args)
{
IntStream.rangeClosed(1, 5).forEach(System.out::println);
}
}
Результат выполнения кода:
1
2
3
4
5
Пример
Давайте создадим поток чисел от 10 до 1.
Так как начальное значение больше конечного,
поток будет пустым:
import java.util.stream.IntStream;
public class Main
{
public static void main(String[] args)
{
long count = IntStream.rangeClosed(10, 1).count();
System.out.println(count);
}
}
Результат выполнения кода:
0
Пример
Давайте создадим поток чисел от 1 до 10,
отфильтруем только четные числа и соберем их в список:
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
public class Main
{
public static void main(String[] args)
{
List<Integer> res = IntStream.rangeClosed(1, 10)
.filter(n -> n % 2 == 0)
.boxed()
.collect(Collectors.toList());
System.out.println(res);
}
}
Результат выполнения кода:
[2, 4, 6, 8, 10]
Пример
Давайте создадим поток чисел от 1 до 5
и найдем их сумму:
import java.util.stream.IntStream;
public class Main
{
public static void main(String[] args)
{
int res = IntStream.rangeClosed(1, 5).sum();
System.out.println(res);
}
}
Результат выполнения кода:
15