在 Java 编程中,数组是最基础的数据结构之一。但由于数组的长度固定特性,在指定位置插入元素需要一些特殊处理。
数组插入的原理
Java 数组一旦创建,长度就不可改变。因此,在指定位置插入元素的核心思路是:
- 创建一个新数组,长度比原数组大 1
- 将原数组中插入位置之前的元素复制到新数组
- 在新数组的指定位置放入要插入的元素
- 将原数组中插入位置之后的元素复制到新数组的后续位置
完整实现代码
java
体验AI代码助手
代码解读
复制代码
/*
* 在数组的指定位置插入一个数据
*
* */
public class Demo05 {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 6, 7};
int[] newArr;
// insertEle(arr, newArr, 4, 888);
newArr = insertEle(arr, 4, 777);
showArr(newArr);
}
public static int[] insertEle(int[] arr, int pos, int value) {
int[] newArr = new int[arr.length + 1];
for (int i = 0; i < pos; i++) {
newArr[i] = arr[i];
}
newArr[pos] = value;
for (int i = pos; i < arr.length; i++) {
newArr[i + 1] = arr[i];
}
return newArr;
}
public static void insertEle(int[] arr, int[] newArr, int pos, int value) {
for (int i = 0; i < pos; i++) {
newArr[i] = arr[i];
}
newArr[pos] = value;
for (int i = pos; i < arr.length; i++) {
newArr[i + 1] = arr[i];
}
}
public static void showArr(int[] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
}