国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

ASP實現類似hashMap功能的類

2024-05-04 11:10:10
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了ASP實現類似hashMap功能的類

java中的hashMap存取數據非常方便,可惜ASP中沒有類似的類。作者在開發程序中需要類似的數據類型,于是構造了一個能基本類似hashMap功能的類,可以實現鍵值存取操作等,存取的數據可以為ASP 中的任何基本類型。

下面是程序的代碼,貼到一個空的ASP中可以直接運行。

 

 
  1. <%  
  2. set vevb = new Jb  
  3. '給mp對象賦值  
  4. vevb.putv "a","vevb.com" 
  5. vevb.putv "b","www.vevb.net" 
  6. vevb.putv "c","http://www.vevb.net" 
  7. response.write "[鍵值數量]:"&vevb.count  
  8. response.write "<br>" 
  9. response.write "[a]:"&vevb.getv("a")  
  10. response.write "<br>" 
  11. response.write ":"&vevb.getv("b")  
  12. response.write "<br>" 
  13. response.write "[c]:"&vevb.getv("c")  
  14. response.write "<hr>" 
  15. '刪除key為"b"的鍵值  
  16. vevb.delv "b" 
  17. response.write "[鍵值數量]:"&vevb.count  
  18. response.write "<br>" 
  19. response.write "[a]:"&vevb.getv("a")  
  20. response.write "<br>" 
  21. response.write ":"&vevb.getv("b")  
  22. response.write "<br>" 
  23. response.write "[c]:"&vevb.getv("c")  
  24. response.write "<hr>" 
  25. '清空vevb的所有值  
  26. vevb.clear  
  27. '給key為"c"的鍵值重新賦值  
  28. vevb.putv "c","http://www.vevb.net" 
  29. response.write "[鍵值數量]:"&vevb.count  
  30. response.write "<br>" 
  31. response.write "[a]:"&vevb.getv("a")  
  32. response.write "<br>" 
  33. response.write ":"&vevb.getv("b")  
  34. response.write "<br>" 
  35. response.write "[c]:"&vevb.getv("c")  
  36. response.write "<hr>" 
  37. Class MtMap  
  38. private arr()  
  39. private arr_len  
  40. '構造函數  
  41. private Sub Class_Initialize  
  42. '其中 arr(0,n)為key,arr(1,n)為value  
  43. arr_len = 0  
  44. redim arr(1,arr_len)  
  45. end sub  
  46.  
  47. '賦值,如果存在則覆蓋  
  48. public sub putv(k,v)  
  49. dim is_update  
  50. is_update = false 
  51. arr_len = ubound(arr,2)  
  52. for i=0 to arr_len-1  
  53. if k=arr(0,i) then  
  54. arr(1,i) = v  
  55. is_update = true 
  56. exit for 
  57. end if 
  58. next  
  59. if not is_update then  
  60. arr_len = arr_len +1  
  61. redim preserve arr(1,arr_len)  
  62. arr(0,arr_len) = k  
  63. arr(1,arr_len) = v  
  64. end if 
  65. end sub  
  66. '取得key為"k"的鍵值  
  67. public function getv(k)  
  68. dim v  
  69. v = "" 
  70. for i=0 to arr_len  
  71. if k=arr(0,i) then  
  72. v = arr(1,i)  
  73. exit for 
  74. end if 
  75. next  
  76. getv = v  
  77. end function  
  78.  
  79. '刪除key為"k"的鍵值  
  80. public sub delv(k)  
  81. arr_len = ubound(arr,2)  
  82. for i=0 to arr_len  
  83. if k=arr(0,i) then  
  84. v = arr(1,i)  
  85. for k = i to arr_len-1  
  86. arr(0,k) = arr(0,k+1)  
  87. arr(1,k) = arr(1,k+1)  
  88. next  
  89. arr_len = arr_len - 1  
  90. redim preserve arr(1,arr_len)  
  91. exit for 
  92. end if 
  93. next  
  94. end sub  
  95.  
  96. '獲得vevb中鍵值的數量  
  97. public property get count()  
  98. count = arr_len  
  99. end property  
  100.  
  101. '清空vevb中所有的鍵值  
  102. public sub clear()  
  103. arr_len = 0  
  104. redim arr(1,1)  
  105. end sub  
  106. end class 
  107. %> 

以上就是分享的ASP如何實現類似hashMap功能的類,希望對大家的學習有所啟發。


注:相關教程知識閱讀請移步到ASP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乌兰察布市| 忻城县| 建平县| 沾化县| 通化县| 白银市| 晋中市| 保定市| 瑞金市| 吉木萨尔县| 郓城县| 嵊州市| 罗定市| 甘谷县| 黑水县| 孝感市| 新泰市| 贵南县| 东台市| 福海县| 舟曲县| 浦北县| 珲春市| 尼玛县| 沾化县| 东山县| 海丰县| 深泽县| 德阳市| 青海省| 惠水县| 富平县| 山丹县| 保康县| 林甸县| 奎屯市| 蕉岭县| 泾阳县| 育儿| 开原市| 恩施市|