It is a Map.
From the API for java.util.Map:
An object that maps keys to values. A map cannot contain duplicate keys; each key can map to at most one value.
Then we need the concept of a hash function (from wikipedia):
(turns) some kind of data into a relatively small integer, that may serve as an index into an array. The values returned by a hash function are called hash values, hash codes, hash sums, or simply hashes.
In a Map we store values against a key. In a HashMap, the key is based on the hash code for the object passed in. This provides a faster way to write and retrieve objects from the associated Map.
There are a few tricks to HashMaps, such as efficient sizes and providing effective hashing values (by overriding the hashcode method on the Class), but that's a job for another day