我试图将一个整数添加到数组的第四个索引。但它是在删除第 4 个元素后添加的。
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 个元素后添加的。
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]);
}
您正在用数字六替换第五项。一种更快的方法是:
ar[position] = 6;
由于您使用的是 Java,我会尝试使用数组列表。他们有一些方法可以让你在给定的索引处添加项目。如果你不能做到这一点,你将需要把一切都转移过来。
int previous = 6;
int current = 0;
for(int i=position;i<ar.length;i++){
current = ar[i];
ar[i] = previous;
previous = current;
}
如果您的数组已满,您将丢失最后一个数字。
数组索引从 开始0
,所以要插入第 4 位,您必须这样做array[3] = value
。所以,你必须把position = 3
int position = 3; // array index start from 0
此外,由于您使用的是数组,因此在添加时,您将替换它。如果要添加而不替换,请使用ArrayList。
如果您不熟悉它,请参阅此ArrayList 示例。
使用以下代码行
ar[i] = 6;
您正在将值分配给6
index 处的元素i
。您不会添加新元素并期望数组移动所有其他位置。数组是固定大小的。如果您想要一个可以增长的数据结构,请使用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]
您需要在 index 处插入5
。
int position = 3; Array starts from 0. 4th index points the fifth value.
int position = 3;
if(ar.length > position)
{
ar[position] = 6;
}