From the web, I got the definition of a HashMap as:
In computing, a hash table (hash map) is a data structure which implements an "associative array abstract data type", a structure that can map keys to values. A HashTable uses a hash function to compute an index into an array of buckets or slots, from which the desired value can be found.
Now my question is that what is the proper meaning of the quoted line: "associative array abstract data type"?
associative array is an array that instead of indexes it is being accessed by keys which could be integers, but also could be strings and other types. Or in other words... a Map/Dictionary (it's a synonym).