簡體   English   中英

Java:前n個整數的數組

[英]Java: Array of first n integers

在不進行顯式循環的情況下創建前n個整數的Java數組的任何快捷方式? 在R中,它會

intArray = c(1:n) 

(並且得到的矢量將是1,2,...,n)。

如果你使用的是 ,你可以這樣做:

int[] arr = IntStream.range(1, n).toArray();

這將創建一個包含[0, n)整數的數組。 如果要在結果數組中包含n ,可以使用rangeClosed

如果要指定步驟,可以iterate然后limit流以獲取所需的前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]

您可以根據需要調整此方法,從上行到下行,並使用負步。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM