這個問題在這里已經有了答案: 如何在 Java 中生成順序整數的串列或陣列? (9 個回答) 14 小時前關閉。
我想填充一個從m的起始值到n的結束值的陣列。例如,如果m為4且n為7,則陣列將為[4,5,6,7]。
uj5u.com熱心網友回復:
不,Java 中的陣列不是類。因此,它沒有您可以呼叫的方法。此外,Arrays實用程式類不包含任何將以任何方式填充陣列的函式。
但是,Array類包含一系列的填充方法,它們會做類似的事情。例如:
int myArr = new int[10];
Array.fill(myArr, 4, 7, 33);
for (int i = 0; i < myArr.length; i ) {
System.out.println(i " : " myArr[i]);
}
這將列印出:
0 : 0
1 : 0
2 : 0
3 : 0
4 : 33
5 : 33
6 : 33
7 : 0
8 : 0
9 : 0
索引 7 之所以為零,是因為在該范圍內,該toIndex值不包含在內。因此,它只會從索引 4 填充到索引 6。
也就是說,如果你想用從m到n的值填充陣列(與你在標題中寫的不同),那么你必須像@MatteoNNZ 在評論中寫的那樣做。
int[] myArr = new int[10];
myArr = IntStream.range(1,11).toArray();
for (int i = 0; i < myArr.length; i ) {
System.out.println(i " : " myArr[i]);
}
哪個會輸出
0 : 1
1 : 2
2 : 3
3 : 4
4 : 5
5 : 6
6 : 7
7 : 8
8 : 9
9 : 10
更新:
感謝@Eritrean,我了解到我之前關于Arrays實用程式類的評論是不正確的。我不知道setAll()函式的存在......
Arrays.setAll(myArr, i -> i 4);
for (int i = 0; i < myArr.length; i ) {
System.out.println(i " : " myArr[i]);
}
上面的代碼輸出:
0 : 4
1 : 5
2 : 6
3 : 7
4 : 8
5 : 9
6 : 10
7 : 11
8 : 12
9 : 13
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/462239.html
上一篇:編輯從方法呼叫的陣列?
下一篇:如何壓縮原始型別陣列的輸出?
