Различия между .Net Hashtable, Java Hashtable & amp; HashMap
Вопрос
Правильно ли я сказал, что .Net Hashtable не синхронизируется, а Java Hashtable работает? И в то же время Java HashMap не синхронизируется и имеет лучшую производительность? Р>
Я переписываю приложение Java, которое интенсивно использует HashMaps в C #, и я хотел бы использовать HashTable и убедиться, что производительность в основном эквивалентна. Р>
Решение
Я думаю, что вы спрашиваете, если HashMaps в Java и HashTables в C # действуют примерно одинаково, и вы в значительной степени правы с точки зрения производительности. HashMaps, насколько я помню, не жалуются, если вы вставляете дубликаты ключей, тогда как HashTable в C # будет.
Другие советы
По умолчанию .NET Hashtables не синхронизируются, но вы можете создать синхронизированную оболочку вокруг нее, например, так:
Hashtable myHash = Hashtable.Synchronized(new Hashtable());