Diferencias entre .Net Hashtable, Java Hashtable & amp; HashMap
Pregunta
¿Estoy en lo cierto al decir que .Net Hashtable no está sincronizado mientras que Java Hashtable sí lo está? ¿Y al mismo tiempo, un Java HashMap no está sincronizado y tiene un mejor rendimiento?
Estoy reescribiendo una aplicación Java que hace un uso intensivo de HashMaps en C # y me gustaría usar una HashTable y asegurarme de que el rendimiento sea básicamente equivalente.
Solución
Creo que lo que estás preguntando es si HashMaps en Java y HashTables en C # actúan aproximadamente de la misma manera y tienes mucha razón desde el punto de vista del rendimiento. HashMaps, según recuerdo, no se quejan si inserta claves duplicadas, mientras que HashTable en C # lo hará.
Otros consejos
Por defecto, .NET Hashtables no están sincronizados, pero puede crear un contenedor sincronizado alrededor de uno, así:
Hashtable myHash = Hashtable.Synchronized(new Hashtable());