java中如何改变数组
修改数组元素的值
在Java中,可以通过索引直接修改数组元素的值。数组索引从0开始,指定索引位置并赋予新值即可完成修改。
int[] numbers = {1, 2, 3, 4};
numbers[2] = 10; // 将第三个元素(索引2)改为10
// 修改后数组:{1, 2, 10, 4}
扩展数组长度
Java数组长度固定,无法直接扩展。若需扩容,需创建新数组并复制原数组内容。

int[] original = {1, 2, 3};
int[] newArray = new int[original.length + 1]; // 新数组长度+1
System.arraycopy(original, 0, newArray, 0, original.length);
newArray[newArray.length - 1] = 4; // 添加新元素
// 新数组:{1, 2, 3, 4}
使用工具类动态调整
Arrays类提供copyOf方法简化扩容操作,自动处理元素复制。

import java.util.Arrays;
int[] arr = {1, 2, 3};
arr = Arrays.copyOf(arr, arr.length + 1); // 扩容到长度4
arr[arr.length - 1] = 4; // 添加新元素
删除数组元素
需创建新数组并跳过待删除元素,或标记为特殊值(如null)。
int[] original = {1, 2, 3, 4};
int[] newArray = new int[original.length - 1];
int indexToRemove = 1; // 删除索引1的元素(值为2)
for (int i = 0, j = 0; i < original.length; i++) {
if (i != indexToRemove) {
newArray[j++] = original[i];
}
}
// 新数组:{1, 3, 4}
使用集合类灵活操作
若需频繁增删元素,可先将数组转为ArrayList,操作后再转回数组。
import java.util.ArrayList;
import java.util.Arrays;
int[] arr = {1, 2, 3};
ArrayList<Integer> list = new ArrayList<>(Arrays.asList(Arrays.stream(arr).boxed().toArray(Integer[]::new)));
list.add(4); // 添加元素
list.remove(1); // 删除索引1的元素
arr = list.stream().mapToInt(Integer::intValue).toArray(); // 转回数组
注意事项
- 原始类型数组(如
int[])需手动处理扩容和缩容。 - 对象数组(如
String[])可将删除位置设为null,但需注意空指针问题。 - 频繁修改数组时,建议使用
ArrayList等动态结构替代。






