Class TabelaHash<K,V>

java.lang.Object
br.unip.aps.estruturas.TabelaHash<K,V>

public final class TabelaHash<K,V> extends Object
Tabela hash com encadeamento separado; cada chave guarda uma lista de valores (multimapa).
  • Constructor Details

  • Method Details

    • paraTexto

      public static <V> TabelaHash<String,V> paraTexto(OperationCounter contador)
      Tabela para chaves de texto com a funcao FNV-1a de 32 bits.
    • fnv1a

      public static int fnv1a(CharSequence s)
      FNV-1a (Fowler, Noll e Vo): combina cada caractere com XOR e multiplica pelo primo 16777619.
    • colocar

      public void colocar(K chave, V valor)
    • buscar

      public List<V> buscar(K chave)
      Valores da chave (lista vazia se ausente).
    • contar

      public int contar(K chave)
      Quantidade de valores da chave, sem copiar a lista.
    • remover

      public boolean remover(K chave)
    • paraCada

      public void paraCada(BiConsumer<? super K,Integer> visita)
      Visita cada chave com sua quantidade de valores (ordem dos baldes).
    • distribuicaoCadeias

      public int[] distribuicaoCadeias()
      Histograma dos comprimentos de cadeia: posicao i = quantidade de baldes com i entradas.
    • maiorCadeia

      public int maiorCadeia()
    • fatorCarga

      public double fatorCarga()
    • chaves

      public int chaves()
    • valores

      public long valores()
    • capacidade

      public int capacidade()
    • colisoes

      public long colisoes()
    • redimensionamentos

      public int redimensionamentos()
    • contador

      public OperationCounter contador()