VBA学习笔记3-数据结构类型SortedList

VBA学习笔记3-数据结构类型SortedList

  • 一、SortedList是干什么的?
  • 二、创建方法
    • 1,前期绑定
    • 2,后期绑定
  • 三、常用方法和属性
    • 1,Add添加方法
    • 2,item的添加办法
    • 3,得到集合的大小
    • 4,判断key键和Item是否存在
      • 4.1,Contains属性
      • 4.2,ContainsKey属性
      • 4.3,ContainsValue属性
    • 5,通过key和item返回索引号
      • 5.1 通过key返回索引
      • 5.2 通过item返回索引
    • 6,通过索引返回对应key和item
      • 6.1,通过索引返回item
      • 6.2,通过索引号返回key
    • 7,通过键key获得item的办法
    • 8,删除的办法
      • 8.1,通过key删除
      • 8.2,索引删除
      • 8.3,通过item删除
    • 9,删除所有
    • 10,复制集合
  • 四、实际案例
    • 1,题目
    • 2,代码

一、SortedList是干什么的?

在ArrayList里学习了数组的排序对象,今天学习一个完善的集合对象,它可以添加数据,根据key键的内容自己升序排序,具有集合的完善方法,又和字典非常相像

二、创建方法

1,前期绑定

  • 单击菜单“工具—引用”,在“引用”对话框中找到“mscorlib.dll”并选取
    VBA学习笔记3-数据结构类型SortedList_第1张图片
  • 创建代码
Dim sl As New sortedlist

2,后期绑定

Sub lizi3()
    Dim sl As Object
    Set sl = CreateObject("system.collections.sortedlist")
    
    Set sl = Nothing
End Sub

三、常用方法和属性

1,Add添加方法

  • Add方法:Object.Add(key,item)
  • key是键,不能重复,并内部就会按照键的升序排列好
  • item是项目,可以是数字,文本,对象,日期等等
Sub lizi3()
    Dim sl As Object, i As Long
    Set sl = CreateObject("system.collections.sortedlist")
    sl.Add 1, "王大锤"
    sl.Add 2, "大怪物"
    sl.Add 0, "二肥"
    sl.Add -1, #12/29/2019#
    For i = 0 To sl.Keys.count - 1
        Debug.Print "键:" & sl.getkey(i) & "," & "项目:" & _
         sl.getbyindex(i)
    Next
    Set sl = Nothing
End Sub

显示结果

键:-1,项目:2019/12/29
键:0,项目:二肥
键:1,项目:王大锤
键:2,项目:大怪物

2,item的添加办法

  • Item的添加办法:SortedList.Item(key)=Item
  • Key是键,不能重复,并内部就会按照键的升序排列好
  • Item是项目,可以是数字,文本,对象,日期等等
  • 同字典一样,如果键重复的,会替换掉这个键对应的Item
Sub lizi3()
    Dim sl As Object, i As Long
    Set sl = CreateObject("system.collections.sortedlist")
    sl.Item(1) = "王大锤"
    sl.Item(2) = "大怪物"
    sl.Item(1) = "二肥"
    sl.Item(0) = #12/29/2019#
    For i = 0 To sl.Keys.count - 1
        Debug.Print "键:" & sl.getkey(i) & "," & "项目:" & _
         sl.getbyindex(i)
    

你可能感兴趣的:(VBA,vba)