java - 如何在不创建新数组的情况下减小数组大小?

标签 java arrays resize runtime

我正在使用数组来存储一种对象。我创建了一个固定大小的数组

int arr[]=new int[n];

现在,在处理完这个数组后,我想从这个数组中释放高达 75% 的内存(现在只有 n/4 个元素有用)。所以我的问题是,因为 n 非常大,我不希望保留比有用的更大的内存,我如何在运行时减少数组的大小而不复制到大小为 n/4 的新数组(是否有可能或不是吗?)

最佳答案

这是不可能的。初始化后不能更改数组的长度。

您可以做的是创建另一个大小合适的数组,并使这个大数组符合垃圾收集器的条件。

最好使用 ArrayList如果你被允许这样做。

关于java - 如何在不创建新数组的情况下减小数组大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32904712/

相关文章:

python - NumPy 在 (M,A,B,N) 形状数组中广播 : Adding an ndarray across elements (a, b)

javascript - 将 HTML 内容加载到 DIV 后调整颜色框的大小

java - 在 Java 中,关闭父输入流是否也会关闭其子输入流?

java - 在 JBoss v7.1 中使用 Seam v2.2.2.Final 和 JSF v1.2 – JSF 标签不会呈现 – 为什么?

java - 如何将随机数添加到数组

html - 如何最小化 <input type ="text"/> 的大小(包括宽度和高度)?

java - Swing 中的球动画

java - 使用 System.currentTimeMillis() 生成唯一的数据库 ID 安全吗?

c++ - 在 C++ 中转置二维数组

javascript - 使用 jquery 检查数组中的项目数