【发布时间】:2017-08-22 09:52:33
【问题描述】:
我最近阅读了一些框架源代码,并注意到他们编写了类似列表的数据结构的 clear() 方法。 一个一个地删除元素。
while (_arr.length > 0 )
{
remove(_arr[0]);
}
(也许上面看起来有点混乱,但这是因为该语言本身的原生数组类型是动态数组) 或
for (int i = 0; i < size; i++)
{ elementData[i] = null;}
size = 0;
但我记得我写过一些这样的代码。 列表修饰了原生数组类型,我写了这样的 clear() 方法。
_arr=new Array();
_size=0;
直接实例化一个新的原生数组类型。
并且此代码是用具有垃圾收集功能的语言编写的。 所以我认为所有元素最终都会被收集,那么为什么需要一个循环?新的会很快吗?
【问题讨论】:
-
对不起我第一次没有把代码写清楚,把大小设置为0
-
出于好奇 - 您在哪个实现中找到了
remove-loop? -
一个名为 flint 的 actionscript3 库
标签: java data-structures