I've seen many examples or articles explaining hash map based on array.
For example, all of the data is stored in an array, and you can get an index of a value by calling hash function with its key.
So, in case that there is no collision, any access to hash map is O(1). As the access is actually for an array, knowing its index.
My question here is that, is there any implementation of specific language or library that hash map is not built on array?
Should hash map must be built on array?