ArrayList对象
简介:创建数组列表对象,支持动态添加、移除,也可以当队列或者栈来用,支持排序
原型:Function ArrayList(vType As VbVarType, ParamArray P() As Variant) As cArrayList
简介:
什么是ArrayList?使用大小会根据需要动态增加的数组。
什么是队列? 队列用来保持数据项目的先进先出(FIFO)顺序。
什么是栈?栈是一种特殊的表,这种表只在表头进行插入和删除操作。因此,表头对于栈来说具有特殊的意义,称为栈顶。相应地,表尾称为栈底。不含任何元素的栈称为空栈。保持项目的后进先出顺序
方法:
add
原型:Sub Add(V, [BeforeIndex As Long = -1])
说明:V 支持vb能支持的所有数据类型,可以把一个object或数组当成一个元素添加进去。
BeforeIndex 已存在某个数据的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 '这里用的是倒序插入。如果参数-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 只读