Java 使用流而不是for循环创建增量int数组

Java 使用流而不是for循环创建增量int数组,java,arrays,java-8,java-stream,Java,Arrays,Java 8,Java Stream,我想创建一个函数来构建一个增量数字数组 例如,我想获得如下信息: int[] array = new int[]{1, 2, 3, 4, 5, 6, 7, 8, ..., 1000000}; 函数将接收两个参数:起始编号(含)和数组的最终长度: public int[] buildIncrementalArray(int start, int length) { ... } 我知道如何使用for循环执行此操作: public int[] buildIncrementalArray(int s

我想创建一个函数来构建一个增量数字数组

例如,我想获得如下信息:

int[] array = new int[]{1, 2, 3, 4, 5, 6, 7, 8, ..., 1000000};
函数将接收两个参数:起始编号(含)和数组的最终长度:

public int[] buildIncrementalArray(int start, int length) { ... }
我知道如何使用for循环执行此操作:

public int[] buildIncrementalArray(int start, int length) {
    int[] result = new int[length];
    for(int i = 0 ; i < length ; i++) {
        result[i] = start + i;
    }
    return result;
}
public int[]buildIncrementalArray(int start,int length){
int[]结果=新的int[长度];
for(int i=0;i

我希望使用Java8流API,而不是使用for循环。有人知道如何使用流API吗?

已经有了一种内置的方法:

int[] array = IntStream.range(start, start + length).toArray();
以增量步骤1返回从开始(包含)到结束(独占)的顺序
IntStream


如果要包含end元素,可以使用。

您可以使用
IntStream
以这种方式进行尝试

int[] array = new int[length];
IntStream.range(0, length).forEach(i -> array[i] = i + 1);

如果它对您不起作用,请告诉我。

如果您找到灯光代码,则可以使用此代码

int[] myArray = new int[n];
while(n-- >= 0){
    myArray[n] = n+1;
}