我試圖給數組的第四個索引添加一個整數。但它刪除第4個元素後添加。從0
如何將一個值添加到數組的指定索引
int ar[] = {1,2,3,4,5,7,8,9};
int position = 4;
for(int i=0;i<ar.length;i++){
if(i==position){
ar[i] = 6;
}
System.out.println(ar[i]);
}
我試圖給數組的第四個索引添加一個整數。但它刪除第4個元素後添加。從0
如何將一個值添加到數組的指定索引
int ar[] = {1,2,3,4,5,7,8,9};
int position = 4;
for(int i=0;i<ar.length;i++){
if(i==position){
ar[i] = 6;
}
System.out.println(ar[i]);
}
您正在用數字6替換第五項。更快的方法是:
ar[position] = 6;
由於您使用的是Java,我會嘗試使用arraylist。他們有方法讓你在給定的索引處添加項目。如果你不能做到這一點,你將需要改變一切。
int previous = 6;
int current = 0;
for(int i=position;i<ar.length;i++){
current = ar[i];
ar[i] = previous;
previous = current;
}
如果你的數組已滿,你將失去最後一個數字。
int position = 3; Array starts from 0. 4th index points the fifth value.
int position = 3;
if(ar.length > position)
{
ar[position] = 6;
}
數組索引開始,所以在你需要做的array[3] = value
第4位插入。所以,你得把position = 3
int position = 3; // array index start from 0
此外,由於您使用的是陣列,同時加入,你會取代它。如果你想添加沒有更換,使用ArrayList。如果您不熟悉它,請參閱此ArrayList Examples。
隨着在索引i
下面的行的代碼
ar[i] = 6;
您的值6
分配給元件。你沒有增加一個新的元素,並期望該陣列轉移所有其他職位。 數組的大小是固定的。如果您想要一個可以增長的數據結構,請使用ArrayList
。
ArrayList<Integer> ar = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5, 7, 8, 9));
int position = 4;
ar.add(i, 6);
System.out.println(ar);
的add(int, T)
方法轉移在當前i
索引向右的所有元素,並在i
插入指定的元素。以上將打印
[1, 2, 3, 4, 6, 5, 7, 8, 9]
您需要插入索引5
。
什麼?指數4是第五位。這按預期工作。 –
數組的大小是固定的。改用'ArrayList'。 –