ASP實(shí)現(xiàn)類似hashMap功能的類
java中的hashMap存取數(shù)據(jù)非常方便,可惜ASP中沒(méi)有類似的類。作者在開(kāi)發(fā)程序中需要類似的數(shù)據(jù)類型,于是構(gòu)造了一個(gè)能基本類似hashMap功能的類,可以實(shí)現(xiàn)鍵值存取操作等,存取的數(shù)據(jù)可以為ASP 中的任何基本類型。
下面是程序的代碼,貼到一個(gè)空的ASP中可以直接運(yùn)行。
<% set jb51 = new Jb '給mp對(duì)象賦值 jb51.putv "a","jb51.net" jb51.putv "b","www.dbjr.com.cn" jb51.putv "c","http://www.dbjr.com.cn" response.write "[鍵值數(shù)量]:"&jb51.count response.write "<br>" response.write "[a]:"&jb51.getv("a") response.write "<br>" response.write ":"&jb51.getv("b") response.write "<br>" response.write "[c]:"&jb51.getv("c") response.write "<hr>" '刪除key為"b"的鍵值 jb51.delv "b" response.write "[鍵值數(shù)量]:"&jb51.count response.write "<br>" response.write "[a]:"&jb51.getv("a") response.write "<br>" response.write ":"&jb51.getv("b") response.write "<br>" response.write "[c]:"&jb51.getv("c") response.write "<hr>" '清空jb51的所有值 jb51.clear '給key為"c"的鍵值重新賦值 jb51.putv "c","http://www.dbjr.com.cn" response.write "[鍵值數(shù)量]:"&jb51.count response.write "<br>" response.write "[a]:"&jb51.getv("a") response.write "<br>" response.write ":"&jb51.getv("b") response.write "<br>" response.write "[c]:"&jb51.getv("c") response.write "<hr>" Class MtMap private arr() private arr_len '構(gòu)造函數(shù) private Sub Class_Initialize '其中 arr(0,n)為key,arr(1,n)為value arr_len = 0 redim arr(1,arr_len) end sub '賦值,如果存在則覆蓋 public sub putv(k,v) dim is_update is_update = false arr_len = ubound(arr,2) for i=0 to arr_len-1 if k=arr(0,i) then arr(1,i) = v is_update = true exit for end if next if not is_update then arr_len = arr_len +1 redim preserve arr(1,arr_len) arr(0,arr_len) = k arr(1,arr_len) = v end if end sub '取得key為"k"的鍵值 public function getv(k) dim v v = "" for i=0 to arr_len if k=arr(0,i) then v = arr(1,i) exit for end if next getv = v end function '刪除key為"k"的鍵值 public sub delv(k) arr_len = ubound(arr,2) for i=0 to arr_len if k=arr(0,i) then v = arr(1,i) for k = i to arr_len-1 arr(0,k) = arr(0,k+1) arr(1,k) = arr(1,k+1) next arr_len = arr_len - 1 redim preserve arr(1,arr_len) exit for end if next end sub '獲得jb51中鍵值的數(shù)量 public property get count() count = arr_len end property '清空jb51中所有的鍵值 public sub clear() arr_len = 0 redim arr(1,1) end sub end class %>
以上就是分享的ASP如何實(shí)現(xiàn)類似hashMap功能的類,希望對(duì)大家的學(xué)習(xí)有所啟發(fā)。
相關(guān)文章
再來(lái)個(gè)專門為google量身定做的sitemap生成代碼,(可是動(dòng)態(tài)的哦)
再來(lái)個(gè)專門為google量身定做的sitemap生成代碼,(可是動(dòng)態(tài)的哦)...2006-12-12one.asp多項(xiàng)目、函數(shù)庫(kù)、類庫(kù) 統(tǒng)一為一個(gè)版本的方法
前幾天 寫的博客 多項(xiàng)目 函數(shù)庫(kù)、類庫(kù) 統(tǒng)一為一個(gè)版本的方法中提到 使用 one.php 將整個(gè)項(xiàng)目打包成 一個(gè) php 文件,有網(wǎng)友 讓我 整個(gè)asp版本的,今天下午抽空寫了個(gè) one.asp,使用方式基本一致,這次 增加了路徑計(jì)算的功能,可以引用不同路徑2020-08-08asp動(dòng)態(tài)級(jí)聯(lián)菜單代碼
asp動(dòng)態(tài)級(jí)聯(lián)菜單代碼...2007-03-03