解决 Java 数组未填满的存储空间浪费的方法是缩小数组空间,具体步骤包括:创建新数组、复制元素、将数组引用指向新数组。此操作不会影响数组元素的顺序或值,且原始数组的引用变量将指向新数组,适用于基本类型数组和对象数组。

Java 数组未填满时如何缩小存储空间
当创建一个 Java 数组时,会预先分配一个固定大小的存储空间。然而,如果数组未填满,则会出现存储空间浪费的情况。解决此问题的方法是缩小数组大小,使其与实际存储元素数匹配。
缩小数组空间的步骤:
- 创建新数组:创建一个新数组,其大小等于要存储的元素数。
- 复制元素:将现有数组中的元素逐一复制到新数组中。
- 将数组引用指向新数组:使用数组引用变量将引用指向新数组。
代码示例:
立即学习“Java免费学习笔记(深入)”;
int[] originalArray = {1, 2, 3, 4};
// 创建新数组,大小为实际元素数
int[] newArray = new int[originalArray.length];
// 复制元素
for (int i = 0; i < newArray.length; i++) {
newArray[i] = originalArray[i];
}
// 将数组引用指向新数组
originalArray = newArray;以上代码将 originalArray 缩小到其实际元素数的大小,释放了未使用的存储空间。
注意事项:
- 缩小数组空间不会影响数组元素的顺序或值。
- 缩小数组空间后,原始数组的引用变量将指向新数组。
- 该方法适用于基本类型数组和对象数组。











