Java 如何向数组的指定索引添加值

Java 如何向数组的指定索引添加值,java,Java,我试图在数组的第四个索引中添加一个整数。但它是在删除第四个元素后添加的 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]); } intar[]={1,2,3,4,5,7,8,9}; int位置=4; 对于(int i=0;i数组索引从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]);
}
intar[]={1,2,3,4,5,7,8,9};
int位置=4;

对于(int i=0;i数组索引从
0
开始,因此要插入第四位,您必须执行
Array[3]=value
。因此,您必须将
position=3

int position = 3; // array index start from 0
另外,由于您使用的是数组,因此在添加时,您将替换它。如果要添加而不替换,请使用


如果您不熟悉它,请参阅。

使用以下代码行

ar[i] = 6;
您正在将值
6
分配给索引
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);

您需要在索引
5

处插入第五项,然后将其替换为数字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-previous=6;
int电流=0;

对于(int i=position;iWhat?索引4是第5位。这与预期一样有效。数组的大小是固定的。请改用
ArrayList
ar[position] = 6; 
int previous = 6;
int current = 0;
for(int i=position;i<ar.length;i++){
    current = ar[i];
    ar[i] = previous;
    previous = current;
}