从头开始删除集合项目 |
|
www.nanhushi.com 佚名 不详 |
删除集合中的所有内容有许多方法,其中有些非常得迅速。来看看一个包含10,000个项目的集合: Dim col As New Collection, i As Long For i = 1 To 10000 col.Add i, CStr(i) Next
可以从末尾位置为起点删除集合内容,如下:
For i = col.Count To 1 Step -1 col.Remove i
Next
也可以从开始位置为起点删除集合内容,如下:
For i = 1 To col.Count Step 1 col.Remove i Next
试验证明,后者要快于前者百倍多,比如0.06秒比4.1秒。原因在于:当引用接近末尾位置的集合项目时,VB必须要从第1个项目开始遍历整个的项目链。更有趣的是,如果集合项目的数量加倍,那么从末尾开始删除与从头开始删除,前者要比后者花费的时间将成倍增长,比如前者是24秒,后者可能为0.12秒这么短!最后提醒您:删除集合的所有内容的最快方法就是“毁灭”它,使用下面的语句: Set col = New Collection
对于一个包含20,000个项目的集合,上述操作仅仅耗时0.05秒,这比使用最快的循环操作进行删除也要快2倍左右。
|
|
|
文章录入:杜斌 责任编辑:杜斌 |
|
上一篇文章: 快速清除数组部分内容 下一篇文章: GoSub在编译程序中速度变慢 |
【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
|