Although hash tables are very efficient and have average cost per operation, assuming appropriate load factors, their analysis and performance depend on the hash function having two fundamental properties:
The hash function must be computable in constant time (i.e., independent of the number of items in the hash table).
The hash function must distribute its items uniformly among the array slots.