ArrayList對象
簡介:創(chuàng)建數(shù)組列表對象,支持動態(tài)添加、移除,也可以當(dāng)隊列或者棧來用,支持排序
原型:Function ArrayList(vType As VbVarType, ParamArray P() As Variant) As cArrayList
簡介:
什么是ArrayList?使用大小會根據(jù)需要動態(tài)增加的數(shù)組。
什么是隊列? 隊列用來保持?jǐn)?shù)據(jù)項目的先進(jìn)先出(FIFO)順序。
什么是棧?棧是一種特殊的表,這種表只在表頭進(jìn)行插入和刪除操作。因此,表頭對于棧來說具有特殊的意義,稱為棧頂。相應(yīng)地,表尾稱為棧底。不含任何元素的棧稱為空棧。保持項目的后進(jìn)先出順序
方法:
add
原型:Sub Add(V, [BeforeIndex As Long = -1])
說明:V 支持vb能支持的所有數(shù)據(jù)類型,可以把一個object或數(shù)組當(dāng)成一個元素添加進(jìn)去。
BeforeIndex 已存在某個數(shù)據(jù)的index之前插入,此時add方法變成insert。
例子:
Option Explicit
Sub mytest()
Dim arr1(1 To 10, 1 To 10), arr2, myarralist As New cArrayList, i&, j&, k&
k = 0
For i = 1 To 10
For j = 1 To 10
arr1(i, j) = k
k = k + 1
Next
Next i
myarralist.Init vbVariant
myarralist.Add arr1
For i = 1 To 100
myarralist.Add i, 1 '這里用的是倒序插入。如果參數(shù)-1則是正序
Next i
Debug.Print myarralist.Count
arr2 = myarralist.Item(0)
Debug.Print arr2(9, 9)
debug.print myarralist.item(100)
set myarralist=Nothing
End Sub
AddElements
原型:Function AddElements(SrcArray, [SrcElementsStartIndex], [SrcElementsToAdd], [AddBeforeDstIndex]) As Long
說明:
BindToArray
原型:Function BindToArray(Arr, [ArrayLBound As Long]) As Boolean
Clone
原型:Function Clone() As cArrayList
CopyToArray
原型:Function CopyToArray(Arr, [ArrayLBound As Long]) As Boolean
DeQueue
原型:Function DeQueue()
說明:從ArrayList對象中移除第一個元素,并返回該元素。
Init
原型:Sub Init(vType As VbVarType, ParamArray P() As Variant)
說明:初始化。任何時候使用AarrayList都必須先初始化。
MakeLCID
原型:Function MakeLCID(LangID As LangIDs, [SortID As SortIDs = SORT_DEFAULT]) As Long
Pop
原型:Function Pop()
Push
原型:Sub Push(V)
Queue
原型:Sub Queue(V)
ReleaseArrayBinding
原型:Sub ReleaseArrayBinding(Arr)
Remove
原型:Sub Remove(ZeroBasedIndex As Long)
RemoveAll
原型:Sub RemoveAll()
RemoveElements
原型:Function RemoveElements(FromZeroBasedIndex, ElementsToRemove As Long) As Long
Sort
原型:Sub Sort([Flags As CmpFlags], [lcid As LCIDs], [Comparer As IComparer])
屬性
Content
原型:Property Content As Byte()
Count
Property Count As Long
ElementSize
原型: Property ElementSize As Long 只讀
Item
原型:Property Item(ZeroBasedIndex As Long)
vType
原型:Property vType As VbVarType 只讀