龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VB开发 >

从头开始删除集合项目

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
删除集合中的所有内容有许多方法,其中有些非常得迅速。来看看一个包含10,000个项目的集合: DimcolAsNewCollection,iAsLong Fori=1To10000 col.Addi,CStr(i) Next 可以从末尾位置为起点删除集合内容,
删除集合中的所有内容有许多方法,其中有些非常得迅速。来看看一个包含10,000个项目的集合:
  DimcolAsNewCollection,iAsLong
  Fori=1To10000
  col.Addi,CStr(i)
  Next
  
  可以从末尾位置为起点删除集合内容,如下:
  
  
  Fori=col.CountTo1Step-1
  col.Removei
  
  Next
  
  也可以从开始位置为起点删除集合内容,如下:
  
  Fori=1Tocol.CountStep1
  col.Removei
  Next
  
  试验证明,后者要快于前者百倍多,比如0.06秒比4.1秒。原因在于:当引用接近末尾位置的集合项目时,VB必须要从第1个项目开始遍历整个的项目链。<>
  更有趣的是,如果集合项目的数量加倍,那么从末尾开始删除与从头开始删除,前者要比后者花费的时间将成倍增长,比如前者是24秒,后者可能为0.12秒这么短!
  最后提醒您:删除集合的所有内容的最快方法就是“毁灭”它,使用下面的语句:Setcol=NewCollection
  
  对于一个包含20,000个项目的集合,上述操作仅仅耗时0.05秒,这比使用最快的循环操作进行删除也要快2倍左右。->

精彩图集

赞助商链接