ASP实现类似hashMap功能的类

栏目: 编程语言 · ASP.NET · 发布时间: 8年前

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

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

<% 
set jb51 = new Jb 
'给mp对象赋值 
jb51.putv "a","jb51.net" 
jb51.putv "b","www.jb51.net" 
jb51.putv "c","http://www.jb51.net" 
response.write "[键值数量]:"&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 "[键值数量]:"&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.jb51.net" 
response.write "[键值数量]:"&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 
'构造函数 
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中键值的数量 
public property get count() 
count = arr_len 
end property 

'清空jb51中所有的键值 
public sub clear() 
arr_len = 0 
redim arr(1,1) 
end sub 
end class 
%>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

A Byte of Python

A Byte of Python

Swaroop C H / Lulu Marketplace / 2008-10-1 / USD 27.98

'A Byte of Python' is a book on programming using the Python language. It serves as a tutorial or guide to the Python language for a beginner audience. If all you know about computers is how to save t......一起来看看 《A Byte of Python》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

html转js在线工具
html转js在线工具

html转js在线工具