(A brief explanation on map. You can skip this part if you already know the subject.)
The common limitation of array or Linked List is it is slow in searching. To find a specific content that has a wanted value from array or Linked List, it compares with every content one by one until the match is found. But this can be done must faster with map.
If the searching subject can be converted to the narrow range of integer value, then it could accelerate the searching speed.
First, convert value of each content to the narrow range of integer for all contents that need to be searched and group together for contents that gets converted to a same value. Then, when you want to search for content with a specific value, it will only start comparing with contents within one group that corresponds to the converted integer value of your wanted value.
The act of converting to the narrow ranged integer value is called hashing and the converted value is called hash value. And a group of contents that get converted to a same value is called bucket and a number of buckets is called hash table.