Este artigo apresenta principalmente a ASP implementa classes semelhantes às funções de hashmap
O hashmap em Java é muito conveniente para acessar dados, mas infelizmente não há classe semelhante no ASP. O autor precisa de tipos de dados semelhantes no programa de desenvolvimento, então ele construiu uma classe que pode basicamente ser semelhante à função HashMap, que pode implementar operações de acesso à chave de valor, etc. Os dados acessados podem ser qualquer tipo básico no ASP.
Abaixo está o código do programa, que pode ser executado diretamente em um ASP vazio.
- <%
- setvevb = newjb
- 'Atribuir valor ao objeto MP
- vevb.putva, vevb.com
- vevb.putvb, www.vevb.net
- vevb.putvc, http: //www.vevb.net
- Response.Write [Número de Valor -chave]: & 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>
- 'Exclua o valor da chave com a chave B
- vevb.delvb
- Response.Write [Número de Valor -chave]: & 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>
- 'Limpe todos os valores do VEVB
- vevb.clear
- 'RatrsAnam o valor chave da chave para C
- vevb.putvc, http: //www.vevb.net
- Response.Write [Número de Valor -chave]: & 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
- 'Construtor
- privatesubclass_initialize
- 'Onde arr (0, n) é fundamental, arr (1, n) é valor
- arr_len = 0
- Redimarr (1, arr_len)
- endsub
- 'Tarefa, se presente, substitua
- PublicsubputV (K, V)
- dimis_update
- is_update = false
- arr_len = ubund (arr, 2)
- fori = 0toarr_len-1
- ifk = arr (0, i) então
- arr (1, i) = v
- is_update = true
- exitfor
- endif
- próximo
- ifnotis_updatethen
- ARR_LEN = ARR_LEN+1
- RedempreseserveArr (1, arr_len)
- arr (0, arr_len) = k
- arr (1, arr_len) = v
- endif
- endsub
- 'Obtenha o valor da chave com a chave k
- publicFunctionGetv (K)
- dimv
- v =
- fori = 0toarr_len
- ifk = arr (0, i) então
- v = arr (1, i)
- exitfor
- endif
- próximo
- getv = v
- Função final
- 'Exclua o valor da chave com a chave k
- Publicsubdelv (K)
- arr_len = ubund (arr, 2)
- fori = 0toarr_len
- ifk = arr (0, i) então
- v = arr (1, i)
- Fork = Itoarr_Len-1
- arr (0, k) = arr (0, k+1)
- arr (1, k) = arr (1, k+1)
- próximo
- ARR_LEN = ARR_LEN-1
- RedempreseserveArr (1, arr_len)
- exitfor
- endif
- próximo
- endsub
- 'Obtenha o número de valores -chave no VEVB
- publicPropertyGetCount ()
- count = arr_len
- EndProperty
- 'Limpe todos os valores -chave no VEVB
- Publicsubclear ()
- arr_len = 0
- Redimarr (1,1)
- endsub
- Endclass
- %>
O acima é como o ASP pode implementar classes semelhantes às funções de hashmap.