In realtà le cose sono molto più semplici. In pratica una hash table, o anche dizionario in altri linguaggi, altro non è che una collezioni di oggetti rintracciabili mediante una chiave.
A differenza, ad esempio, di un vettore in cui l'indice rappresenta anche la chiave di ricerca (se vuoi estrarre l'oggetto n° x devi chiamare in Gambas Vettore[x-1]), una collezione permette di accedere al suo contenuto usando appunto una chiave.
A differenza di un vettore, quindi, non importa sapere la posizione a cui si trova l'oggetto da cercare: sarà la collezione stessa che estrarrà l'oggetto indicato dalla chiave scelta.
Facciamo un esempio.
Abbiamo una collezione che contiene le auto delle aziende. Sappiamo che per ogni marca è presente solo un modello, per cui potremmo usare una collezione, molto più "elastica" per ricerche di questo tipo.
DIM Auto AS NEW Collection
Auto.Add("Astra", "Opel")
Auto.Add("Punto", "Fiat")
Auto.Add("Golf", "VW")
Se vogliamo sapere qual'è l'auto di marca Opel, basta fare