この記事では、主にハッシュマップ機能に類似したASP実装クラスを紹介します
JavaのHashmapはデータにアクセスするのに非常に便利ですが、残念ながらASPには同様のクラスはありません。著者は開発プログラムで同様のデータ型を必要とするため、基本的にハッシュマップ関数に似ているクラスを構築しました。これは、キー値アクセス操作などを実装できます。
以下は、空のASPで直接実行できるプログラムのコードです。
- <%
- setVevb = newJb
- '値をMPオブジェクトに割り当てます
- vevb.putva、vevb.com
- vevb.putvb、www.vevb.net
- vevb.putvc、http://www.vevb.net
- Response.Write [キー値の数]:&vevb.count
- Response.Write <br>
- Response.Write [a]:&vevb.getV(a)
- Response.Write <br>
- Response.Write:&vevb.getV(b)
- Response.Write <br>
- Response.Write [c]:&vevb.getv(c)
- Response.Write <Hr>
- 'キーbでキー値を削除します
- vevb.delvb
- Response.Write [キー値の数]:&vevb.count
- Response.Write <br>
- Response.Write [a]:&vevb.getV(a)
- Response.Write <br>
- Response.Write:&vevb.getV(b)
- Response.Write <br>
- Response.Write [c]:&vevb.getv(c)
- Response.Write <Hr>
- 'VEVBのすべての値をクリアします
- Vevb.Clear
- 'キーのキー値をcに再割り当てします
- vevb.putvc、http://www.vevb.net
- Response.Write [キー値の数]:&vevb.count
- Response.Write <br>
- Response.Write [a]:&vevb.getV(a)
- Response.Write <br>
- Response.Write:&vevb.getV(b)
- Response.Write <br>
- Response.Write [c]:&vevb.getv(c)
- Response.Write <Hr>
- classmtmap
- privatearr()
- privatearr_len
- 'コンストラクタ
- privatesubclass_initialize
- 'ここで、arr(0、n)がキーで、arr(1、n)は値です
- arr_len = 0
- redimarr(1、arr_len)
- Endingub
- '割り当ては、存在する場合、上書きします
- publicsubputv(k、v)
- dimis_update
- is_update = false
- arr_len = ubund(arr、2)
- fori = 0toarr_len-1
- ifk = arr(0、i)then
- arr(1、i)= v
- is_update = true
- exitfor
- endif
- 次
- ifnotis_updatethen
- arr_len = arr_len+1
- redempreservearr(1、arr_len)
- arr(0、arr_len)= k
- arr(1、arr_len)= v
- endif
- Endingub
- 'キーkでキー値を取得します
- publicFunctionGetV(k)
- DIMV
- v =
- fori = 0toarr_len
- ifk = arr(0、i)then
- v = arr(1、i)
- exitfor
- endif
- 次
- getV = v
- エンド機能
- 'キーkでキー値を削除します
- publicsubdelv(k)
- arr_len = ubund(arr、2)
- fori = 0toarr_len
- ifk = arr(0、i)then
- v = arr(1、i)
- fork = itoarr_len-1
- arr(0、k)= arr(0、k+1)
- arr(1、k)= arr(1、k+1)
- 次
- arr_len = arr_len-1
- redempreservearr(1、arr_len)
- exitfor
- endif
- 次
- Endingub
- 'VEVBでキー値の数を取得します
- publicPropertygetCount()
- count = arr_len
- Endproperty
- 'VEVBのすべての重要な値をクリアします
- publicsubclear()
- arr_len = 0
- Redimarr(1,1)
- Endingub
- エンドクラス
- %>
上記は、ASPがHashmap関数と同様のクラスを実装する方法です。