我使用数组存储一种对象。我创建了一个固定大小的数组
int arr[]=new int[n];
现在处理完这个数组后,我想从这个数组释放高达75%的内存(现在只有n / 4个元素是有用的)。所以我的问题是,因为n非常大并且我希望不占用更大的内存而不是有用的,如何在运行时减少数组的大小而不复制到大小为n / 4的新数组(是否可能或不?)
答案 0 :(得分:8)
答案 1 :(得分:1)
根本不可能。尽管您正在使用集合进行创建,但如果数组大小超过,它们会将数组元素复制到更大的数组!
答案 2 :(得分:1)
不,一旦你创建了一个数组,那么它的大小是固定的。你不能在运行时更改它。对于当前场景,您可以将有用的元素复制到新阵列。或者只是保持阵列不关心内存。