我试图给数组的第四个索引添加一个整数。但它删除第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'。 –