Java 如何在流API中使用后台范围?

Java 如何在流API中使用后台范围?,java,java-stream,Java,Java Stream,我想用“IntStream”来执行后范围 因此,普通的IntStream.range看起来像: IntStream.range(1, 10) .forEach(System.out::println); 但我需要,像这样: IntStream.range(10, 1) .forEach(System.out::println); 如何实现它?检查示例 一种方法是计算反向数: IntStream.range(1, 10) .map(i -> 10 - i

我想用“IntStream”来执行后范围

因此,普通的
IntStream.range
看起来像:

IntStream.range(1, 10)
    .forEach(System.out::println);
但我需要,像这样:

IntStream.range(10, 1)
    .forEach(System.out::println);
如何实现它?

检查示例


一种方法是计算反向数:

IntStream.range(1, 10)
         .map(i -> 10 - i)
         .forEach(System.out::println);
输出

请记住,
range
是上限互斥的,因此
range(1,10)
生成数字1-9。我在这里假设您的
范围(10,1)
应该返回相同的数字,但顺序是降序的,因此仍然是“上限”-独占的,这意味着排除第一个值,而不是最后一个值

IntStream.range(1, 10)
         .map(i -> 10 - i)
         .forEach(System.out::println);
9
8
7
6
5
4
3
2
1