下面是我的输入数组
int[] myarray= {1,2,3,4,5,6,7};
int inputNo=10; // value to be inserted
int index=3; // position to be inserted
然后输出,
{1,2,3,10,4,5,6,7}
答案 0 :(得分:2)
int[] insertedArray = new int[myarray.length+1];
System.arrayCopy( myarray, 0, insertedArray, 0, index );
System.arrayCopy( myarray, index, insertedArray, index+1, myarray.length-index);
insertedArray[index] = inputNo;
也许,取决于具体情况......
myarray = insertedArray
答案 1 :(得分:0)
也许您应该使用LinkedList(为了保持顺序)而不是数组。
LinkedList有一种方法可以将数据放在特定的索引上。
List<Integer> list = new LinkedList<>();
list.add(index, element);
答案 2 :(得分:0)
length of an array is immutable
。创建数组后,我们无法更改数组的大小。
public static void main(String[] args) {
List<Integer> myList = new ArrayList<Integer>();
myList.add(1);
myList.add(2);
myList.add(3);
myList.add(4);
myList.add(5);
myList.add(6);
myList.add(7);
System.out.println(Arrays.toString(myList.toArray()));
myList.add(3, 10);// index 3, value 10
System.out.println(Arrays.toString(myList.toArray()));
}
<强>输出强>
[1, 2, 3, 4, 5, 6, 7]
[1, 2, 3, 10, 4, 5, 6, 7]