La idea principal de una estructura tipo hash es que, a diferencia de un vector, los indices no son (necesariamente) numericos.
En un vector los indices son numericos:
[0] = "valor1"
[1] = "valor2"
[2] = "valor3"
[3] = "valor4"
Pero en estructuras hash, pueden ser/o no numericos
["indice1"] = "valor1"
["indice2"] = "valor2"
["indice3"] = "valor3"
["indice4"] = "valor4"
Un requisito indispensable es que la estructura este ordenada con el objeto de obtener un elemento correctamente y de la forma mas rápida posible, por que para ello se utiliza el algoritmo de busqueda Hashing:
http://ict.udlap.mx/people/carlos/is215/ir09.html