Java:前n个整数的数组

Java:前n个整数的数组,java,arrays,java-8,Java,Arrays,Java 8,有没有不进行显式循环就创建前n个整数的Java数组的快捷方式? 在R中,应该是 intArray = c(1:n) (结果向量为1,2,…,n)。如果使用,可以执行以下操作: int[] arr = IntStream.range(1, n).toArray(); 这将创建一个数组,其中包含[0,n)中的整数。如果要在结果数组中包含n,可以使用 如果您想指定一个步骤,您可以先单击该步骤,然后单击流以获取所需的第一个n元素 int[] arr = IntStream.iterate(0, i

有没有不进行显式循环就创建前n个整数的Java数组的快捷方式? 在R中,应该是

intArray = c(1:n) 
(结果向量为1,2,…,n)。

如果使用,可以执行以下操作:

int[] arr = IntStream.range(1, n).toArray();
这将创建一个数组,其中包含
[0,n)
中的整数。如果要在结果数组中包含
n
,可以使用

如果您想指定一个步骤,您可以先单击该步骤,然后单击流以获取所需的第一个
n
元素

int[] arr = IntStream.iterate(0, i ->i + 2).limit(10).toArray(); //[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
static int[] fillArray(int from, int to, int step){
    if(to < from || step <= 0)
        throw new IllegalArgumentException("to < from or step <= 0");

    int[] array = new int[(to-from)/step+1];
    for(int i = 0; i < array.length; i++){
        array[i] = from;
        from += step;
    }
    return array;
}
...
int[] arr3 = fillArray(0, 10, 3); //[0, 3, 6, 9]
否则,我想最简单的方法是使用循环并填充数组。如果需要,可以创建一个helper方法

int[] arr = IntStream.iterate(0, i ->i + 2).limit(10).toArray(); //[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
static int[] fillArray(int from, int to, int step){
    if(to < from || step <= 0)
        throw new IllegalArgumentException("to < from or step <= 0");

    int[] array = new int[(to-from)/step+1];
    for(int i = 0; i < array.length; i++){
        array[i] = from;
        from += step;
    }
    return array;
}
...
int[] arr3 = fillArray(0, 10, 3); //[0, 3, 6, 9]
静态int[]填充数组(int-from、int-to、int-step){
如果(to