国产探花免费观看_亚洲丰满少妇自慰呻吟_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教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 玉树县| 西乌珠穆沁旗| 贵港市| 志丹县| 漠河县| 汽车| 余干县| 元谋县| 浦东新区| 库尔勒市| 夏津县| 那曲县| 哈尔滨市| 建始县| 科尔| 博湖县| 温州市| 同心县| 元阳县| 荆门市| 微山县| 辽阳市| 盘锦市| 梅州市| 伊金霍洛旗| 太仆寺旗| 陵水| 大埔区| 馆陶县| 建德市| 广安市| 兰坪| 奈曼旗| 石家庄市| 浦北县| 黑山县| 屯昌县| 麻阳| 抚顺市| 靖江市| 肥西县|