刪除集合中的所有內容有許多方法,其中有些非常得迅速。來看看一個包含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倍左右。->