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
%>

以上就是分享的ASP如何实现类似hashMap功能的类,希望对大家的学习有所启发。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索asp
hashmap
hashmap的实现原理、hashmap底层实现原理、hashmap 实现原理、hashmap的底层实现、hashmap实现原理分析,以便于您获取更多的相关知识。

时间: 2024-10-17 17:35:19

ASP实现类似hashMap功能的类_应用技巧的相关文章

ASP实现类似hashMap功能的类

java中的hashMap存取数据非常方便,可惜ASP中没有类似的类.作者在开发程序中需要类似的数据类型,于是构造了一个能基本类似hashMap功能的类,可以实现键值存取操作等,存取的数据可以为ASP 中的任何基本类型. 下面是程序的代码,贴到一个空的ASP中可以直接运行. <% set jb51 = new Jb '给mp对象赋值 jb51.putv "a","jb51.net" jb51.putv "b","www.jb51.

ASP.NET MVC验证码功能实现代码_实用技巧

前台 复制代码 代码如下: <img id="vcodeimg" src="/Home/VCode" width="70"                                    height="25" />                                 <span                                    style="cursor: p

asp.net Oracle数据库访问操作类_实用技巧

复制代码 代码如下: using System;using System.Collections;using System.Collections.Specialized;using System.Data;using System.Data.OracleClient;using System.Configuration;using System.Data.Common;using System.Collections.Generic;     /// <summary>    /// 数据访

asp.net(c#) RSS功能实现代码_实用技巧

可能还有很多未完善,但终归可以使用了,以后再慢慢改进!! 以下是我RSS界面的后台代码,给需要的朋友提供下我的经验: 复制代码 代码如下: using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebCont

一个ASP.NET中使用的MessageBox类_实用技巧

 /// <summary> /// 自定义信息对话框 /// </summary> public class MessageBox {  /// <summary>  /// 定义一个web页面,用来显示用户自定错误提示信息  /// </summary>  System.Web.UI.Page p;  /// <summary>  /// 实例时,参数为:this 如:MessageBox MB=new MessageBox(this); 

asp.net 数据访问层基类_实用技巧

部分代码: 复制代码 代码如下: using System; using System.Collections; using System.Collections.Specialized; using System.Data; using System.Data.SqlClient; using System.Configuration; using System.Data.Common; using System.Collections.Generic; namespace sosuo8.DB

用ASP实现hashMap功能的类

  java中的hashMap存取数据非常方便,可惜ASP中没有类似的类.作者在开发程序中需要类似的数据类型,于是构造了一个能基本类似hashMap功能的类,可以实现键值存取操作等,存取的数据可以为ASP 中的任何基本类型. 下面是程序的代码,贴到一个空的ASP中可以直接运行.有问题可以在这里与我交流: <% 'miantuanMap的使用范例 '作者:miantuan.net 'email:ray@miantuan.net 'qq:12694448 '交流区:http://www.miantu

asp.net AJAX注册类_实用技巧

1.注册命名空间 Type.registerNamespace("wallis"); 就是将wallis加入window中,然后就可以直接在任何地方使用该命名空间(window是全局的,而且使用时可以省略) 2.注册类 wallis.Animal.registerClass("wallis.Animal"); 在MicrosoftAjax.js中可以找到 Type.prototype.registerClass = function Type$registerCla

ASP.NET中实现根据匿名类、datatable、sql生成实体类_实用技巧

在开发中可能会遇到这几种情况: 1.EF或LINQ查询出来的匿名对象在其它地方调用不方便,又懒的手动建实体类 2.通过datatable反射实体需要先建一个类 ,头痛 3.通过SQL语句返回的实体也需要先建一个类 ,头痛 4.如果通过代码生成器要写模版,需要安装或者不想生成一堆不用的类    为了解决上面的不便之处,我封装了一个实体生成类,可以扔到程序里面任意调用 封装类: using System; using System.Collections.Generic; using System.