This article introduces the class ASP achieve similar functionality hashMap
hashMap java data access is very convenient, but not ASP similar classes. Needed in the development of procedures similar data types, so can construct a function substantially similar hashMap class, key access operation can be realized, data access may be substantially any type of ASP.
The following is the code of the program, attached to an empty ASP can run directly.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
<%
set
jb51 =
new
Jb
'给mp对象赋值
jb51.putv
"a"
,
"jb51.net"
jb51.putv
"b"
,
"www.jb51.net"
jb51.putv
"c"
,
"//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"
,
"//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
%>
|
以上就是分享的ASP如何实现类似hashMap功能的类,希望对大家的学习有所启发。