Diferenças entre .Net Hashtable, Java Hashtable e HashMap
Pergunta
Am I corrigir em dizer que a Net Hashtable não está sincronizada enquanto um Java Hashtable é? E, ao mesmo tempo, um Java HashMap não está sincronizada e tem melhor desempenho?
Estou reescrevendo um aplicativo Java que faz uso pesado de HashMaps em C # e eu gostaria de usar um HashTable e garantir que o desempenho é basicamente equivalente.
Solução
Eu acho que você está perguntando é se HashMaps em Java e tabelas de hash em C # act em aproximadamente da mesma maneira e você está em grande parte correto do ponto de vista do desempenho. HashMaps Pelo que me lembro não se queixam Se você inserir chaves duplicadas enquanto HashTable em C # vai.
Outras dicas
Por padrão, o .NET Hashtables não são sincronizados, mas você pode criar um wrapper sincronizado em torno de um, assim:
Hashtable myHash = Hashtable.Synchronized(new Hashtable());