Uma solução popular para resolver colisões é conhecida como separate chaining: para cada índice h da tabela há uma lista encadeada que armazena todos os objetos que a função de dispersão leva em h. Essa solução é muito boa se cada uma das "listas de colisão" resultar curta. Se o número total de objetos for N, o comprimento de cada lista deveria, idealmente, estar próximo de N/M. De acordo com Sedgewick, uma boa regra prática é escolher M de modo que o valor de N/M fique entre 5 e 10.