主要要考虑的是 其他 代码可能引用了该列表。如果现有列表在其他位置可见,您是否希望该代码查看已清除列表,还是保留现有列表?
如果没有其他可以看到的列表,我可能会清除它-但不是出于性能原因;仅仅因为您描述 *** 作的方式 听起来 比“创建新列表”更像是清除 *** 作。
该
ArrayList<T>文档不指定会发生什么情况基础数据结构,但是看着在Eclipse
1.7的实现,它看起来像你应该叫
trimToSize()后
clear()-否则,你仍然可以有一个大阵空引用的支持列表。(当然,也许这对您来说不是问题,也许这比在再次建立大小时复制数组要更有效。您将比我们更了解这一点。)
(当然,创建新列表并不需要旧列表将所有数组元素设置为null …,但我怀疑这在大多数情况下是否有意义。)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)