Melhor implementação para o método hashCode para uma coleção

Como decidimos sobre a melhor implementação dehashCode() método para uma coleção (supondo que o método equals tenha sido substituído corretamente)?