Este artículo presenta principalmente clases de implementos ASP similares a las funciones de hashmap
Hashmap en Java es muy conveniente para acceder a los datos, pero desafortunadamente no hay una clase similar en ASP. El autor necesita tipos de datos similares en el programa de desarrollo, por lo que construyó una clase que básicamente puede ser similar a la función hashmap, que puede implementar operaciones de acceso de valor clave, etc. Los datos accedidos pueden ser cualquier tipo básico en el ASP.
A continuación se muestra el código del programa, que se puede ejecutar directamente en un ASP vacío.
- <%
- setVevb = newJB
- 'Asignar valor al objeto MP
- Vevb.putva, Vevb.com
- VEVB.putvb, www.Vevb.net
- VEVB.putvc, http: //www.vevb.net
- Response.WRITE [Número de valor clave]: & 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>
- 'Eliminar el valor de la clave con la tecla B
- VEVB.DELVB
- Response.WRITE [Número de valor clave]: & 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>
- 'Borrar todos los valores de VEVB
- VEVB.
- 'Reasignar el valor clave de la clave a C
- VEVB.putvc, http: //www.vevb.net
- Response.WRITE [Número de valor clave]: & 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>
- Mapa de clase
- privatearr ()
- privatearr_len
- 'Constructor
- privatesubclass_initialize
- 'Donde arr (0, n) es clave, arr (1, n) es valor
- arr_len = 0
- redimarr (1, arr_len)
- Endsub
- 'Asignación, si está presente, sobrescribe
- Publicsubputv (K, V)
- dimis_update
- is_update = falso
- arr_len = ubund (arr, 2)
- fori = 0toarr_len-1
- ifk = arr (0, i) entonces
- arr (1, i) = V
- is_update = verdadero
- salir
- endif
- próximo
- ifnotis_updatethen
- arr_len = arr_len+1
- redemperServearr (1, arr_len)
- arr (0, arr_len) = k
- arr (1, arr_len) = v
- endif
- Endsub
- 'Obtenga el valor de la clave con la tecla K
- PublicFunctionGetv (k)
- dimv
- v =
- fori = 0toarr_len
- ifk = arr (0, i) entonces
- v = arr (1, i)
- salir
- endif
- próximo
- getV = V
- Función final
- 'Eliminar el valor de la clave con la tecla K
- Publicsubdelv (k)
- arr_len = ubund (arr, 2)
- fori = 0toarr_len
- ifk = arr (0, i) entonces
- v = arr (1, i)
- horquilla = itoarr_len-1
- arr (0, k) = arr (0, k+1)
- arr (1, k) = arr (1, k+1)
- próximo
- arr_len = arr_len-1
- redemperServearr (1, arr_len)
- salir
- endif
- próximo
- Endsub
- 'Obtenga el número de valores clave en VEVB
- publicPropertygetCount ()
- count = arr_len
- endpropertía
- 'Borrar todos los valores clave en VEVB
- PublicsubClear ()
- arr_len = 0
- Redimarr (1,1)
- Endsub
- clase final
- %>
Lo anterior es cómo ASP puede implementar clases similares a las funciones de Hashmap.