![](/img/trans.png)
[英]Reducing size of an array (by creating a new one) - how does arrayList do it?
[英]How to reduce array size without creating new?
我正在使用数组存储一种对象。 我创建了一个固定大小的数组
int arr[]=new int[n];
现在处理完这个数组之后,我想从这个数组释放高达75%的内存(现在只有n / 4个元素是有用的)。 所以我的问题是,因为n非常大并且我希望不占用更大的内存而不是有用的, 如何在运行时减少数组的大小而不复制到大小为n / 4的新数组(甚至是否可能?) 。
这根本不可能。 尽管您正在使用集合进行创建,但如果数组大小超过,它们会将数组元素复制到更大的数组!
不,一旦你创建了一个数组,那么它的大小是固定的。 你不能在运行时更改它。 对于当前场景,您可以将有用的元素复制到新阵列。 或者只是保持阵列不关心内存。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.