Perfect hashing
Zero collisions, by design.
For static sets — keys known in advance — you can do better than "average O(1)" — you can guarantee worst-case O(1). Fredman et al's "FKS" scheme uses a two-level hash; later constructions (CHD, BBHash, FCH) use only O(n) bits beyond the keys themselves, with O(1) guaranteed lookup.
Top-level hash function maps n keys to n buckets, with O(1) expected collisions per bucket. Each non-empty bucket gets its own perfect hash function for its 2–3 keys. Construction is randomised; expected O(n) time.
Compiled language keyword lookup (CPython, V8). gperf-generated tables. Static dictionaries in scientific software. Python's "frozen" dicts in some contexts.
Perfect hashing trades update flexibility for worst-case guarantees. Used wherever a set is built once and queried billions of times — the keyword tables in every compiler, for instance.