jfc*_*edo 7 java arrays java-8 java-stream
我想创建一个构建增量数组的函数.
例如,我想获得类似的东西:
int[] array = new int[]{1, 2, 3, 4, 5, 6, 7, 8, ..., 1000000};
Run Code Online (Sandbox Code Playgroud)
该函数将接收两个参数:起始编号(包括)和数组的最终长度:
public int[] buildIncrementalArray(int start, int length) { ... }
Run Code Online (Sandbox Code Playgroud)
我知道如何使用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;
}
Run Code Online (Sandbox Code Playgroud)
我想使用Java 8 Stream API,而不是使用for循环.有人知道如何使用Stream API吗?
Tun*_*aki 16
已有一种内置方法:
int[] array = IntStream.range(start, start + length).toArray();
Run Code Online (Sandbox Code Playgroud)
IntStream.range返回IntStream从开始(包括)到结尾(不包括)的顺序,增量步长为1.
如果要包含end元素,可以使用IntStream.rangeClosed.