Hash Table

Like a coat-check with numbered hooks. You hand over a coat (key), a machine spits out a hook number (hash), you hang it there (bucket). Two coats end up on the same hook? Chain them.

key ─→ hash ─→ index ─→ buckets[index]
                         └─→ [key|val] → [key|val] → NULL

The dict, the map, the object in every language. Almost always this underneath.