Separate chaining trzyma kolidujące klucze w liście (lub drzewie) w kubełku. Open addressing przechowuje wszystkie wpisy w tablicy i szuka alternatywnych slotów (np. linear/quadratic probing, double hashing). Chaining jest prostsze przy usuwaniu; open addressing bywa bardziej cache‑friendly, ale jest wrażliwe na load factor.