package dataStructures; /** *

Titulo: A interface do TDA Hashable

*

Descrição: Necessário a elementos usados em funções de dispersão

* @version 1.0 */ public interface HashFunction { /** * Calcula o valor de dispersão de uma dada chave * @param key A chave a ser calculada * @return O valor dessa chave */ //@ requires isHashable(key); int hashValue(Object key); /** * Verifica se um dado objecto tem valor de dispersão * @param key A chave a verificar * @return TRUE se tem valor de dispersão, FALSE c.c. */ /*@ pure @*/ boolean isHashable(Object key); /** * Calcula o n-ésimo valor depois de (n-1) colisões, em relaçao * à última chave inquirida. * @return O próximo valor */ int nextValue(); } // endInterface HashFunction