A hash table that grows. When one more key would push the load factor past a threshold, it allocates a bigger table and moves every key; the cost counters show why that is still O(1) per insert on average.
This interactive visualization needs JavaScript.