ASP实现类似hashMap功能的类

ASP教程 2025-08-07

这篇文章主要介绍了ASP实现类似hashMap功能的类

java中的hashMap存取数据非常方便,可惜ASP中没有类似的类。作者在开发程序中需要类似的数据类型,于是构造了一个能基本类似hashMap功能的类,可以实现键值存取操作等,存取的数据可以为ASP 中的任何基本类型。

下面是程序的代码,贴到一个空的ASP中可以直接运行。

  1. <%
  2. setvevb=newJb
  3. '给mp对象赋值
  4. vevb.putva,vevb.com
  5. vevb.putvb,www.vevb.net
  6. vevb.putvc,http://www.v**e*vb.net
  7. response.write[键值数量]:&vevb.count
  8. response.write
  9. response.write[a]:&vevb.getv(a)
  10. response.write
  11. response.write:&vevb.getv(b)
  12. response.write
  13. response.write[c]:&vevb.getv(c)
  14. response.write
  15. '删除key为b的键值
  16. vevb.delvb
  17. response.write[键值数量]:&vevb.count
  18. response.write
  19. response.write[a]:&vevb.getv(a)
  20. response.write
  21. response.write:&vevb.getv(b)
  22. response.write
  23. response.write[c]:&vevb.getv(c)
  24. response.write
  25. '清空vevb的所有值
  26. vevb.clear
  27. '给key为c的键值重新赋值
  28. vevb.putvc,http://www.v**e*vb.net
  29. response.write[键值数量]:&vevb.count
  30. response.write
  31. response.write[a]:&vevb.getv(a)
  32. response.write
  33. response.write:&vevb.getv(b)
  34. response.write
  35. response.write[c]:&vevb.getv(c)
  36. response.write
  37. ClassMtMap
  38. privatearr()
  39. privatearr_len
  40. '构造函数
  41. privateSubClass_Initialize
  42. '其中arr(0,n)为key,arr(1,n)为value
  43. arr_len=0
  44. redimarr(1,arr_len)
  45. endsub
  46. '赋值,如果存在则覆盖
  47. publicsubputv(k,v)
  48. dimis_update
  49. is_update=false
  50. arr_len=ubound(arr,2)
  51. fori=0toarr_len-1
  52. ifk=arr(0,i)then
  53. arr(1,i)=v
  54. is_update=true
  55. exitfor
  56. endif
  57. next
  58. ifnotis_updatethen
  59. arr_len=arr_len+1
  60. redimpreservearr(1,arr_len)
  61. arr(0,arr_len)=k
  62. arr(1,arr_len)=v
  63. endif
  64. endsub
  65. '取得key为k的键值
  66. publicfunctiongetv(k)
  67. dimv
  68. v=
  69. fori=0toarr_len
  70. ifk=arr(0,i)then
  71. v=arr(1,i)
  72. exitfor
  73. endif
  74. next
  75. getv=v
  76. endfunction
  77. '删除key为k的键值
  78. publicsubdelv(k)
  79. arr_len=ubound(arr,2)
  80. fori=0toarr_len
  81. ifk=arr(0,i)then
  82. v=arr(1,i)
  83. fork=itoarr_len-1
  84. arr(0,k)=arr(0,k+1)
  85. arr(1,k)=arr(1,k+1)
  86. next
  87. arr_len=arr_len-1
  88. redimpreservearr(1,arr_len)
  89. exitfor
  90. endif
  91. next
  92. endsub
  93. '获得vevb中键值的数量
  94. publicpropertygetcount()
  95. count=arr_len
  96. endproperty
  97. '清空vevb中所有的键值
  98. publicsubclear()
  99. arr_len=0
  100. redimarr(1,1)
  101. endsub
  102. endclass
  103. %>

以上就是分享的ASP如何实现类似hashMap功能的类,希望对大家的学习有所启发。

注:相关教程知识阅读请移步到ASP教程频道。